diff --git a/.gitattributes b/.gitattributes index 00a51aff5e..b3dbe874fb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,5 +2,20 @@ # https://help.github.com/articles/dealing-with-line-endings/ # # These are explicitly windows files and should use crlf -*.bat text eol=crlf +*.bat text eol=crlf +# sh files +*.sh text eol=lf +*.bash text eol=lf + +# These files are text and should be normalized +*.scala text +*.java text +*.groovy text +*.csv text +*.conf text + +# binary is a macro for -text -diff +*.png binary +*.jpg binary +*.jar binary diff --git a/.scalafix.conf b/.scalafix.conf new file mode 100644 index 0000000000..b15cf113cd --- /dev/null +++ b/.scalafix.conf @@ -0,0 +1,33 @@ +rules = [ + OrganizeImports, + DisableSyntax, + LeakingImplicitClassVal, + RedundantSyntax +] + +// default settings are stated explicitly, in case defaults might change +OrganizeImports { + blankLines = Auto + coalesceToWildcardImportThreshold = null // too risky, see documentation + expandRelative = true + groupExplicitlyImportedImplicitsSeparately = false + groupedImports = Merge + groups = [ + "*" + "re:(javax?|scala)\\." + ] + importSelectorsOrder = Ascii + importsOrder = Ascii + preset = DEFAULT + removeUnused = true +} + +DisableSyntax { + noWhileLoops = true + // noIsInstanceOf = true FIXME can be enabled once pureconfig is in use + // noAsInstanceOf = true FIXME same + noXml = true + noFinalize = true + noValPatterns = true +} + diff --git a/.scalafmt.conf b/.scalafmt.conf index b9ff87f158..2dcfc63b7c 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -2,3 +2,4 @@ version = 3.7.3 runner.dialect = scala213 rewrite.trailingCommas.style = multiple +lineEndings = preserve diff --git a/Jenkinsfile b/Jenkinsfile index 46e3837dd8..8ef7356638 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -106,7 +106,7 @@ node { sh 'java -version' - gradle('--refresh-dependencies clean spotlessCheck pmdMain pmdTest reportScoverage checkScoverage', projectName) + gradle('--refresh-dependencies clean spotlessCheck checkScalafix pmdMain pmdTest reportScoverage checkScoverage', projectName) sh(script: """set +x && cd $projectName""" + ''' set +x; ./gradlew javadoc''', returnStdout: true) } @@ -426,12 +426,6 @@ def publishReports(String relativeProjectDir) { // publish scalatest reports for main project only (currently the only one with scala sources!) publishHTML([allowMissing: false, alwaysLinkToLastBuild: true, escapeUnderscores: false, keepAll: true, reportDir: relativeProjectDir + '/build/reports/tests/scalatest', reportFiles: 'index.html', reportName: "${relativeProjectDir}_scala_tests_report", reportTitles: '']) - // publish scapegoat src report for main project only - publishHTML([allowMissing: false, alwaysLinkToLastBuild: true, escapeUnderscores: false, keepAll: true, reportDir: relativeProjectDir + '/build/reports/scapegoat/src', reportFiles: 'scapegoat.html', reportName: "${relativeProjectDir}_scapegoat_src_report", reportTitles: '']) - - // publish scapegoat testsrc report for main project only - publishHTML([allowMissing: false, alwaysLinkToLastBuild: true, escapeUnderscores: false, keepAll: true, reportDir: relativeProjectDir + '/build/reports/scapegoat/testsrc', reportFiles: 'scapegoat.html', reportName: "${relativeProjectDir}_scapegoat_testsrc_report", reportTitles: '']) - // scoverage report dir publishHTML([allowMissing: false, alwaysLinkToLastBuild: true, escapeUnderscores: false, keepAll: true, reportDir: relativeProjectDir + '/build/reports/scoverageTest', reportFiles: 'scoverage.xml', reportName: "${relativeProjectDir}_scoverage_report", reportTitles: '']) } diff --git a/build.gradle b/build.gradle index af9b979865..938436c043 100644 --- a/build.gradle +++ b/build.gradle @@ -8,6 +8,7 @@ plugins { id 'maven-publish' // publish to a maven repo (local or mvn central, has to be defined) id 'pmd' // code check, working on source code id 'com.diffplug.spotless' version '6.25.0'// code format + id 'io.github.cosmicsilence.scalafix' version '0.1.15' id "com.github.ben-manes.versions" version '0.51.0' id "de.undercouch.download" version "5.5.0" // downloads plugin id "kr.motd.sphinx" version "2.10.1" // documentation generation @@ -29,7 +30,6 @@ ext { jtsVersion = '1.19.0' confluentKafkaVersion = '7.4.0' tscfgVersion = '1.0.0' - scapegoatVersion = '2.1.3' testContainerVersion = '0.41.2' @@ -46,6 +46,7 @@ java { apply from: scriptsLocation + 'pmd.gradle' apply from: scriptsLocation + 'spotless.gradle' +apply from: scriptsLocation + 'scalafix.gradle' apply from: scriptsLocation + 'checkJavaVersion.gradle' apply from: scriptsLocation + 'tscfg.gradle' // config tasks apply from: scriptsLocation + 'documentation.gradle' // documentation tasks + configuration @@ -135,10 +136,6 @@ dependencies { } implementation "org.locationtech.jts.io:jts-io-common:${jtsVersion}" - /* Scala compiler plugin for static code analysis */ - implementation "com.sksamuel.scapegoat:scalac-scapegoat-plugin_${scalaBinaryVersion}:${scapegoatVersion}" - scalaCompilerPlugin "com.sksamuel.scapegoat:scalac-scapegoat-plugin_${scalaBinaryVersion}:${scapegoatVersion}" - /* Kafka */ implementation "org.apache.kafka:kafka-clients:${confluentKafkaVersion}-ccs" implementation "io.confluent:kafka-streams-avro-serde:${confluentKafkaVersion}" @@ -180,27 +177,17 @@ shadowJar { archiveBaseName.set('simona') } - - -// scapegoat hook configuration -// https://github.com/sksamuel/scapegoat -// using compileScala instead of tasks.withType(ScalaCompile) prevents applying scapegoat to scala test classes -// see https://docs.gradle.org/current/userguide/scala_plugin.html#sec:configure_scala_classpath for details tasks.withType(ScalaCompile) { scalaCompileOptions.additionalParameters = [ "-Xplugin:" + configurations.scalaCompilerPlugin.asPath, - "-P:scapegoat:dataDir:" + buildDir + "/reports/scapegoat/src/", - "-P:scapegoat:disabledInspections:VariableShadowing", - "-P:scapegoat:ignoredFiles:.*/SimonaConfig.scala" // see scapegoat-sbt page for this param + "-Ywarn-unused" // required for scalafix OrganizeImports ] } -// separate scapegoat report for test classes compileTestScala { scalaCompileOptions.additionalParameters = [ "-Xplugin:" + configurations.scalaCompilerPlugin.asPath, - "-P:scapegoat:dataDir:" + buildDir + "/reports/scapegoat/testsrc/", - "-P:scapegoat:disabledInspections:VariableShadowing" + "-Ywarn-unused" // required for scalafix OrganizeImports ] } diff --git a/docs/readthedocs/developersguide.md b/docs/readthedocs/developersguide.md index ace59e05e6..e02cdffee6 100644 --- a/docs/readthedocs/developersguide.md +++ b/docs/readthedocs/developersguide.md @@ -30,6 +30,7 @@ In short, mergeable PRs have to meet our standards in several areas: - Automated checks - [Jenkins](https://simona.ie3.e-technik.tu-dortmund.de/ci/job/ie3-institute/job/simona/) run succeeds, i.e. - The code needs to be properly formatted (`gradle spotlessApply`) + - The code needs to adhere to some standards regarding import order etc. (`gradle scalafix`) - The code needs to compile - All tests need to succeed - [SonarQube](https://simona.ie3.e-technik.tu-dortmund.de/sonar/dashboard?id=edu.ie3%3Asimona) run succeeds, i.e. @@ -45,7 +46,7 @@ In short, mergeable PRs have to meet our standards in several areas: - All vital parts of the new code need to be covered by tests (see {ref}`developersguide:tests`) - Code quality should be sufficient (see {ref}`developersguide:coding conventions`) -There can be exceptions to these rules, which have to be approved by the reviewer. +There can be exceptions to these rules in special cases, which have to be approved by the reviewer. ### Tests diff --git a/docs/readthedocs/images/usersguide/intellij-gradle-settings.png b/docs/readthedocs/images/usersguide/intellij-gradle-settings.png new file mode 100644 index 0000000000..d461a36f11 Binary files /dev/null and b/docs/readthedocs/images/usersguide/intellij-gradle-settings.png differ diff --git a/docs/readthedocs/usersguide.md b/docs/readthedocs/usersguide.md index 9bd66ac3c9..a332de4c6f 100644 --- a/docs/readthedocs/usersguide.md +++ b/docs/readthedocs/usersguide.md @@ -25,6 +25,12 @@ You can find and download the source code of the latest stable SIMONA version [h $ git clone https://github.com/ie3-institute/simona.git +For speedy execution and optimal convenience, change the Gradle build settings to build and run using Gradle and run tests using IntelliJ IDEA. +Open the settings window via ``File > Settings``. Find the Gradle settings in at ``Build, Execution, Deployment > Build Tools > Gradle`` or via the search bar at the top. +When building the project using Gradle, tools such as ``scalafix`` can work on the already assembled project via Gradle. +Running tests is most convenient via IntelliJ, because this way one can properly take advantage of the respective graphical user interface. + +![](../readthedocs/images/usersguide/intellij-gradle-settings.png) ## Running a Standalone Simulation diff --git a/gradle/scripts/scalafix.gradle b/gradle/scripts/scalafix.gradle new file mode 100644 index 0000000000..9886b1c18f --- /dev/null +++ b/gradle/scripts/scalafix.gradle @@ -0,0 +1,4 @@ +scalafix { + includes.set(["**/*.scala"]) + ignoreSourceSets.set(["scoverage"]) +} \ No newline at end of file diff --git a/gradle/scripts/sonarqube.gradle b/gradle/scripts/sonarqube.gradle index 80a9db4fd1..a5ecbb36ff 100644 --- a/gradle/scripts/sonarqube.gradle +++ b/gradle/scripts/sonarqube.gradle @@ -15,11 +15,6 @@ sonarqube { // reports stuff (for all languages) property 'sonar.junit.reportPaths', [ 'build/test-results/test'] // Comma-delimited list of paths to Surefire XML-format reports. - // unit tests reports dirs - // scapegoat report dir - property "sonar.scala.scapegoat.reportPaths", [ - "build/reports/scapegoat/src/scapegoat-scalastyle.xml", - "build/reports/scapegoat/testsrc/scapegoat-scalastyle.xml"] // Comma-delimited list of paths to Scapegoat reports in the Scalastyle format // scala specific stuff property 'sonar.scala.coverage.reportPaths', 'build/reports/scoverageTest/scoverage.xml' diff --git a/src/main/scala/edu/ie3/simona/agent/SimonaAgent.scala b/src/main/scala/edu/ie3/simona/agent/SimonaAgent.scala index ff916942fd..695b2a4f89 100644 --- a/src/main/scala/edu/ie3/simona/agent/SimonaAgent.scala +++ b/src/main/scala/edu/ie3/simona/agent/SimonaAgent.scala @@ -6,13 +6,11 @@ package edu.ie3.simona.agent -import org.apache.pekko.actor.FSM.CurrentState -import org.apache.pekko.actor.{LoggingFSM, PoisonPill, Stash, Status} import edu.ie3.simona.agent.state.AgentState import edu.ie3.simona.event.notifier.Notifier import edu.ie3.simona.logging.SimonaFSMActorLogging - -import scala.language.postfixOps +import org.apache.pekko.actor.FSM.CurrentState +import org.apache.pekko.actor.{LoggingFSM, PoisonPill, Stash, Status} /** Trait that is mixed into every agent providing methods and services common * to all or most of all agents in the SIMONA simulation environment. diff --git a/src/main/scala/edu/ie3/simona/agent/grid/DBFSAlgorithm.scala b/src/main/scala/edu/ie3/simona/agent/grid/DBFSAlgorithm.scala index 1cab5c0589..2d71c93e36 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/DBFSAlgorithm.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/DBFSAlgorithm.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorRef, FSM, PoisonPill} -import org.apache.pekko.pattern.{ask, pipe} -import org.apache.pekko.util.{Timeout => PekkoTimeout} import breeze.linalg.{DenseMatrix, DenseVector} import breeze.math.Complex import edu.ie3.datamodel.graph.SubGridGate @@ -46,6 +42,10 @@ import edu.ie3.simona.ontology.messages.VoltageMessage.{ import edu.ie3.simona.util.TickUtil.TickLong import edu.ie3.util.scala.quantities.Megavars import edu.ie3.util.scala.quantities.SquantsUtils.RichElectricPotential +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorRef, FSM, PoisonPill} +import org.apache.pekko.pattern.{ask, pipe} +import org.apache.pekko.util.{Timeout => PekkoTimeout} import squants.Each import squants.energy.Megawatts @@ -158,7 +158,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { gridAgentBaseData: GridAgentBaseData, ) => log.debug( - s"Received Slack Voltages request from {} for nodes {} and sweepNo: {}", + "Received Slack Voltages request from {} for nodes {} and sweepNo: {}", sender(), nodeUuids, gridAgentBaseData.currentSweepNo, @@ -197,7 +197,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { throw new DBFSAlgorithmException( s"Requested nodeUuid $nodeUuid " + s"not found in sweep value store data for sweepNo: $sweepNo. This indicates" + - s"either a wrong processing of a previous sweep result or inconsistencies in grid model data!" + "either a wrong processing of a previous sweep result or inconsistencies in grid model data!" ) } }.getOrElse { @@ -229,7 +229,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { } match { case (slackE, slackF) => log.debug( - s"Provide {} to {} for node {} and sweepNo: {}", + "Provide {} to {} for node {} and sweepNo: {}", s"$slackE, $slackF", sender(), nodeUuid, @@ -255,14 +255,14 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { ) => if (gridAgentBaseData.currentSweepNo == requestSweepNo) { log.debug( - s"Received request for grid power values for sweepNo {} before my first power flow calc. Stashing away.", + "Received request for grid power values for sweepNo {} before my first power flow calc. Stashing away.", requestSweepNo, ) stash() stay() } else { log.debug( - s"Received request for grid power values for a NEW sweep (request: {}, my: {})", + "Received request for grid power values for a NEW sweep (request: {}, my: {})", requestSweepNo, gridAgentBaseData.currentSweepNo, ) @@ -395,7 +395,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { gridAgentBaseData.powerFlowParams.sweepTimeout, ) - log.debug(s"Going to {}", HandlePowerFlowCalculations) + log.debug("Going to {}", HandlePowerFlowCalculations) goto(HandlePowerFlowCalculations) using gridAgentBaseData @@ -517,7 +517,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { // when we don't have assets we can skip another request for different asset behaviour due to changed // voltage values and go back to SimulateGrid directly log.debug( - s"No generation or load assets in the grid. Going back to {}.", + "No generation or load assets in the grid. Going back to {}.", SimulateGrid, ) unstashAll() // we can answer the stashed grid power requests now @@ -591,7 +591,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { } else { // no changes from assets, we want to go back to SimulateGrid and report the LF results to our parent grids if any requests log.debug( - s"Assets have not changed their exchanged power or no voltage dependent behaviour. Going back to {}.", + "Assets have not changed their exchanged power or no voltage dependent behaviour. Going back to {}.", SimulateGrid, ) unstashAll() // we can answer the stashed grid power requests now @@ -1065,7 +1065,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { implicit val timeout: PekkoTimeout = PekkoTimeout.create(askTimeout) - log.debug(s"asking assets for power values: {}", nodeToAssetAgents) + log.debug("asking assets for power values: {}", nodeToAssetAgents) if (nodeToAssetAgents.values.flatten.nonEmpty) Some( @@ -1141,7 +1141,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { ): Option[Future[ReceivedPowerValues]] = { implicit val timeout: PekkoTimeout = PekkoTimeout.create(askTimeout) log.debug( - s"asking inferior grids for power values: {}", + "asking inferior grids for power values: {}", inferiorGridGates, ) Option.when(inferiorGridGates.nonEmpty) { @@ -1200,7 +1200,7 @@ trait DBFSAlgorithm extends PowerFlowSupport with GridResultsSupport { ): Option[Future[ReceivedSlackVoltageValues]] = { implicit val timeout: PekkoTimeout = PekkoTimeout.create(askTimeout) log.debug( - s"asking superior grids for slack voltage values: {}", + "asking superior grids for slack voltage values: {}", superiorGridGates, ) diff --git a/src/main/scala/edu/ie3/simona/agent/grid/GridAgent.scala b/src/main/scala/edu/ie3/simona/agent/grid/GridAgent.scala index 8ea4b12f5d..2ede00146c 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/GridAgent.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/GridAgent.scala @@ -27,13 +27,12 @@ import edu.ie3.simona.ontology.messages.{Activation, StopMessage} import edu.ie3.simona.scheduler.ScheduleLock.ScheduleKey import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.TimeUtil -import org.apache.pekko.actor.{ActorRef, Props, Stash} import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorRef, Props, Stash} import java.time.ZonedDateTime import java.time.temporal.ChronoUnit import java.util.UUID -import scala.language.postfixOps object GridAgent { def props( @@ -160,13 +159,13 @@ class GridAgent( failFast(gridAgentInitData) log.debug( - s"Inferior Subnets: {}; Inferior Subnet Nodes: {}", + "Inferior Subnets: {}; Inferior Subnet Nodes: {}", gridAgentInitData.inferiorGridIds, gridAgentInitData.inferiorGridNodeUuids, ) log.debug( - s"Superior Subnets: {}; Superior Subnet Nodes: {}", + "Superior Subnets: {}; Superior Subnet Nodes: {}", gridAgentInitData.superiorGridIds, gridAgentInitData.superiorGridNodeUuids, ) @@ -276,7 +275,7 @@ class GridAgent( ) throw new GridAgentInitializationException( s"$actorName has neither superior nor inferior grids! This can either " + - s"be cause by wrong subnetGate information or invalid parametrization of the simulation!" + "be cause by wrong subnetGate information or invalid parametrization of the simulation!" ) } } diff --git a/src/main/scala/edu/ie3/simona/agent/grid/GridAgentController.scala b/src/main/scala/edu/ie3/simona/agent/grid/GridAgentController.scala index 895afb7cc1..09e937d21f 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/GridAgentController.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/GridAgentController.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorContext, ActorRef} -import org.apache.pekko.event.LoggingAdapter import com.typesafe.scalalogging.LazyLogging import edu.ie3.datamodel.models.input.container.{SubGridContainer, ThermalGrid} import edu.ie3.datamodel.models.input.system._ @@ -33,6 +30,9 @@ import edu.ie3.simona.ontology.messages.SchedulerMessage.ScheduleActivation import edu.ie3.simona.util.ConfigUtil import edu.ie3.simona.util.ConfigUtil._ import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorContext, ActorRef} +import org.apache.pekko.event.LoggingAdapter import java.time.ZonedDateTime import java.util.UUID @@ -138,7 +138,7 @@ class GridAgentController( if (notProcessedElements.nonEmpty) log.warning( - s"The following elements have been removed, " + + "The following elements have been removed, " + s"as the agents are not implemented yet: $notProcessedElements" ) diff --git a/src/main/scala/edu/ie3/simona/agent/grid/GridAgentData.scala b/src/main/scala/edu/ie3/simona/agent/grid/GridAgentData.scala index 03ec0fd641..1fb03d3833 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/GridAgentData.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/GridAgentData.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.ActorRef -import org.apache.pekko.event.LoggingAdapter import edu.ie3.datamodel.graph.SubGridGate import edu.ie3.datamodel.models.input.container.{SubGridContainer, ThermalGrid} import edu.ie3.powerflow.model.PowerFlowResult @@ -24,6 +22,8 @@ import edu.ie3.simona.ontology.messages.PowerMessage.{ ProvideGridPowerMessage, ProvidePowerMessage, } +import org.apache.pekko.actor.ActorRef +import org.apache.pekko.event.LoggingAdapter import java.util.UUID @@ -35,7 +35,7 @@ object GridAgentData { /** Initial state data of the [[GridAgent]] */ - final case object GridAgentUninitializedData extends GridAgentData + case object GridAgentUninitializedData extends GridAgentData /** Data that is send to the [[GridAgent]] directly after startup. It contains * the main information for initialization. This data should include all @@ -97,7 +97,7 @@ object GridAgentData { * be copied several times at several places for each state transition with * updated data. So be careful in adding more data on it! */ - final case object GridAgentBaseData extends GridAgentData { + case object GridAgentBaseData extends GridAgentData { def apply( gridModel: GridModel, diff --git a/src/main/scala/edu/ie3/simona/agent/grid/GridAgentDataHelper.scala b/src/main/scala/edu/ie3/simona/agent/grid/GridAgentDataHelper.scala index dfb422f48a..4eb559f534 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/GridAgentDataHelper.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/GridAgentDataHelper.scala @@ -6,10 +6,10 @@ package edu.ie3.simona.agent.grid -import java.util.UUID - import edu.ie3.datamodel.graph.SubGridGate +import java.util.UUID + /** Trait containing helper methods for the [[GridAgent]] to reduce the amount * of code in the GridAgent */ diff --git a/src/main/scala/edu/ie3/simona/agent/grid/GridEnvironment.scala b/src/main/scala/edu/ie3/simona/agent/grid/GridEnvironment.scala index 622cf4f614..f112d405e0 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/GridEnvironment.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/GridEnvironment.scala @@ -6,11 +6,11 @@ package edu.ie3.simona.agent.grid -import java.util.UUID - -import org.apache.pekko.actor.ActorRef import edu.ie3.datamodel.graph.SubGridGate import edu.ie3.simona.model.grid.GridModel +import org.apache.pekko.actor.ActorRef + +import java.util.UUID /** Wrapper class containing all information on the grid environment a * [[GridAgent]] has access to diff --git a/src/main/scala/edu/ie3/simona/agent/grid/GridResultsSupport.scala b/src/main/scala/edu/ie3/simona/agent/grid/GridResultsSupport.scala index 1118041f93..a5cdbcf0d3 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/GridResultsSupport.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/GridResultsSupport.scala @@ -6,16 +6,10 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.event.LoggingAdapter import breeze.math.Complex import edu.ie3.datamodel.models.input.connector.ConnectorPort import edu.ie3.datamodel.models.result.NodeResult -import edu.ie3.datamodel.models.result.connector.{ - LineResult, - SwitchResult, - Transformer2WResult, - Transformer3WResult, -} +import edu.ie3.datamodel.models.result.connector.{LineResult, SwitchResult, Transformer2WResult} import edu.ie3.powerflow.model.NodeData.StateData import edu.ie3.simona.agent.grid.GridResultsSupport.PartialTransformer3wResult import edu.ie3.simona.agent.grid.SweepValueStore.SweepValueStoreData @@ -29,6 +23,7 @@ import edu.ie3.simona.model.grid.Transformer3wPowerFlowCase.{ import edu.ie3.simona.model.grid._ import edu.ie3.util.quantities.PowerSystemUnits import edu.ie3.util.scala.quantities.QuantityUtil +import org.apache.pekko.event.LoggingAdapter import squants.space.Degrees import squants.{Amperes, Angle, ElectricCurrent} import tech.units.indriya.quantity.Quantities diff --git a/src/main/scala/edu/ie3/simona/agent/grid/PowerFlowSupport.scala b/src/main/scala/edu/ie3/simona/agent/grid/PowerFlowSupport.scala index f06ab993c7..22090d67f5 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/PowerFlowSupport.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/PowerFlowSupport.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.event.LoggingAdapter import breeze.math.Complex import edu.ie3.powerflow.NewtonRaphsonPF import edu.ie3.powerflow.model.NodeData.{PresetData, StateData} @@ -20,6 +19,7 @@ import edu.ie3.simona.model.grid._ import edu.ie3.simona.ontology.messages.PowerMessage.ProvidePowerMessage import edu.ie3.simona.ontology.messages.VoltageMessage.ProvideSlackVoltageMessage.ExchangeVoltage import edu.ie3.util.scala.quantities.Kilovars +import org.apache.pekko.event.LoggingAdapter import squants.electro.ElectricPotential import squants.energy.Kilowatts @@ -177,7 +177,7 @@ trait PowerFlowSupport { .minByOption(_.index) .getOrElse( throw new DBFSAlgorithmException( - s"Unable to find a slack node." + "Unable to find a slack node." ) ) @@ -237,7 +237,7 @@ trait PowerFlowSupport { .find(_.nodeUuid == sweepValueStoreData.nodeUuid) .getOrElse( throw new RuntimeException( - s"Unable to find node with uuid " + + "Unable to find node with uuid " + s"${sweepValueStoreData.nodeUuid} in received slack voltage values!" ) ) @@ -453,7 +453,7 @@ trait PowerFlowSupport { throw new RuntimeException( s"The received slack voltage for node $nodeUuid belongs to a two and a " + s"three winding transformer at the same time (${transformer2w.uuid} and ${transformer3w.uuid}), " + - s"which is not possible!" + "which is not possible!" ) case (None, None) => throw new RuntimeException( diff --git a/src/main/scala/edu/ie3/simona/agent/grid/ReceivedValues.scala b/src/main/scala/edu/ie3/simona/agent/grid/ReceivedValues.scala index 53f04d5af8..4819d84734 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/ReceivedValues.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/ReceivedValues.scala @@ -6,9 +6,9 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.ActorRef import edu.ie3.simona.ontology.messages.PowerMessage.PowerResponseMessage import edu.ie3.simona.ontology.messages.VoltageMessage.ProvideSlackVoltageMessage +import org.apache.pekko.actor.ActorRef /** Serves as a wrapper class that allows for matches against received values in * [[DBFSAlgorithm]] diff --git a/src/main/scala/edu/ie3/simona/agent/grid/ReceivedValuesStore.scala b/src/main/scala/edu/ie3/simona/agent/grid/ReceivedValuesStore.scala index e74f0f82df..8c7ccffcb3 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/ReceivedValuesStore.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/ReceivedValuesStore.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.ActorRef import edu.ie3.datamodel.graph.SubGridGate import edu.ie3.simona.agent.grid.ReceivedValuesStore.{ NodeToReceivedPower, @@ -17,6 +16,7 @@ import edu.ie3.simona.ontology.messages.PowerMessage.{ ProvidePowerMessage, } import edu.ie3.simona.ontology.messages.VoltageMessage.ProvideSlackVoltageMessage.ExchangeVoltage +import org.apache.pekko.actor.ActorRef import java.util.UUID diff --git a/src/main/scala/edu/ie3/simona/agent/grid/SweepValueStore.scala b/src/main/scala/edu/ie3/simona/agent/grid/SweepValueStore.scala index ddc46a1ba3..1d1b8567b9 100644 --- a/src/main/scala/edu/ie3/simona/agent/grid/SweepValueStore.scala +++ b/src/main/scala/edu/ie3/simona/agent/grid/SweepValueStore.scala @@ -6,14 +6,14 @@ package edu.ie3.simona.agent.grid -import java.util.UUID - import edu.ie3.powerflow.model.NodeData.StateData import edu.ie3.powerflow.model.PowerFlowResult.SuccessFullPowerFlowResult.ValidNewtonRaphsonPFResult import edu.ie3.simona.agent.grid.SweepValueStore.SweepValueStoreData import edu.ie3.simona.exceptions.agent.DBFSAlgorithmException import edu.ie3.simona.model.grid.NodeModel +import java.util.UUID + /** Value store holding all that should be stored after each sweep of the * [[DBFSAlgorithm]] to be used by the next sweep. * diff --git a/src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgent.scala b/src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgent.scala index 3eae4e4a55..299b0f02a3 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgent.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgent.scala @@ -7,7 +7,6 @@ package edu.ie3.simona.agent.participant import edu.ie3.datamodel.models.input.system.SystemParticipantInput -import edu.ie3.simona.agent.{SimonaAgent, ValueStore} import edu.ie3.simona.agent.grid.GridAgent.FinishGridSimulationTrigger import edu.ie3.simona.agent.participant.ParticipantAgent.{ StartCalculationTrigger, @@ -33,6 +32,7 @@ import edu.ie3.simona.agent.state.ParticipantAgentState.{ Calculate, HandleInformation, } +import edu.ie3.simona.agent.{SimonaAgent, ValueStore} import edu.ie3.simona.config.SimonaConfig import edu.ie3.simona.event.notifier.NotifierConfig import edu.ie3.simona.exceptions.agent.InconsistentStateException @@ -44,13 +44,13 @@ import edu.ie3.simona.model.participant.{ SystemParticipant, } import edu.ie3.simona.ontology.messages.Activation +import edu.ie3.simona.ontology.messages.PowerMessage.RequestAssetPowerMessage +import edu.ie3.simona.ontology.messages.SchedulerMessage.ScheduleActivation import edu.ie3.simona.ontology.messages.flex.FlexibilityMessage.{ FlexResponse, IssueFlexControl, RequestFlexOptions, } -import edu.ie3.simona.ontology.messages.PowerMessage.RequestAssetPowerMessage -import edu.ie3.simona.ontology.messages.SchedulerMessage.ScheduleActivation import edu.ie3.simona.ontology.messages.services.ServiceMessage.RegistrationResponseMessage.RegistrationSuccessfulMessage import edu.ie3.simona.ontology.messages.services.ServiceMessage.{ PrimaryServiceRegistrationMessage, @@ -412,9 +412,9 @@ abstract class ParticipantAgent[ case (actorRef, data) => s"$actorRef -> $data" } log.debug( - s"Got asset power request for tick {}'. Will answer it later. " + - s"I'm waiting for senders: '{}', already got from '{}'. " + - s"The actor has {} been triggered yet.", + "Got asset power request for tick {}'. Will answer it later. " + + "I'm waiting for senders: '{}', already got from '{}'. " + + "The actor has {} been triggered yet.", s"$currentTick from ${sender()}", awaitedSenders, yetReceivedSenders, @@ -475,7 +475,7 @@ abstract class ParticipantAgent[ case Event(RequestAssetPowerMessage(currentTick, _, _), _) => log.debug( - s"Got asset power request for tick {} from '{}'. Will answer it later.", + "Got asset power request for tick {} from '{}'. Will answer it later.", currentTick, sender(), ) diff --git a/src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentals.scala b/src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentals.scala index 894c0e1c2e..c498fe21c9 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentals.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentals.scala @@ -67,7 +67,6 @@ import edu.ie3.simona.model.participant.{ ModelState, SystemParticipant, } -import edu.ie3.simona.ontology.messages.Activation import edu.ie3.simona.ontology.messages.PowerMessage.{ AssetPowerChangedMessage, AssetPowerUnchangedMessage, @@ -324,7 +323,7 @@ protected trait ParticipantAgentFundamentals[ newTick.filterNot(_ => baseStateData.isEmManaged), ) - log.debug(s"Going to {}, using {}", Idle, nextBaseStateData) + log.debug("Going to {}, using {}", Idle, nextBaseStateData) goto(Idle) using nextBaseStateData } } catch { @@ -1232,8 +1231,8 @@ protected trait ParticipantAgentFundamentals[ baseStateData.foreseenDataTicks.values.flatten.exists(_ < requestTick) if (activationExpected || dataExpected) { log.debug( - s"Received power request from '{}' for tick '{}', but I'm still waiting for new results before " + - s"this tick. Waiting with the response.", + "Received power request from '{}' for tick '{}', but I'm still waiting for new results before " + + "this tick. Waiting with the response.", sender(), requestTick, ) @@ -1606,7 +1605,7 @@ protected trait ParticipantAgentFundamentals[ ) } else { log.debug( - s"No relevant data apparent, stay and reply with alternative result {}.", + "No relevant data apparent, stay and reply with alternative result {}.", alternativeResult, ) stayWithUpdatedRequestValueStore( diff --git a/src/main/scala/edu/ie3/simona/agent/participant/ServiceRegistration.scala b/src/main/scala/edu/ie3/simona/agent/participant/ServiceRegistration.scala index b8b2ef33ad..35b59c1a48 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/ServiceRegistration.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/ServiceRegistration.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.ActorRef import edu.ie3.datamodel.models.input.system.{EvcsInput, SystemParticipantInput} import edu.ie3.simona.agent.participant.data.Data.PrimaryData.PrimaryDataWithApparentPower import edu.ie3.simona.agent.participant.data.Data.SecondaryData @@ -26,6 +25,7 @@ import edu.ie3.simona.model.participant.{ } import edu.ie3.simona.ontology.messages.services.EvMessage.RegisterForEvDataMessage import edu.ie3.simona.ontology.messages.services.WeatherMessage.RegisterForWeatherMessage +import org.apache.pekko.actor.ActorRef trait ServiceRegistration[ PD <: PrimaryDataWithApparentPower[PD], @@ -76,7 +76,7 @@ trait ServiceRegistration[ ): Option[ActorRef] = serviceDefinition match { case SecondaryDataService.ActorPriceService(_) => log.debug( - s"Attempt to register for {}. This is currently not supported.", + "Attempt to register for {}. This is currently not supported.", ActorPriceService, ) None @@ -110,7 +110,7 @@ trait ServiceRegistration[ s"Cannot register for weather information at node ${inputModel.getNode.getId} " + s"(${inputModel.getNode.getUuid}), because the geo position " + s"(${inputModel.getNode.getGeoPosition.getY}, ${inputModel.getNode.getGeoPosition.getX}) " + - s"is invalid." + "is invalid." ) } actorRef ! RegisterForWeatherMessage(lat, lon) diff --git a/src/main/scala/edu/ie3/simona/agent/participant/data/Data.scala b/src/main/scala/edu/ie3/simona/agent/participant/data/Data.scala index 35748f755f..578a45d171 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/data/Data.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/data/Data.scala @@ -11,7 +11,7 @@ import edu.ie3.simona.agent.participant.data.Data.PrimaryData.ApparentPower import edu.ie3.util.quantities.PowerSystemUnits import edu.ie3.util.quantities.interfaces.EnergyPrice import edu.ie3.util.scala.quantities.{Kilovars, Megavars, ReactivePower} -import squants.energy.{Power, Kilowatts, Megawatts} +import squants.energy.{Kilowatts, Megawatts, Power} import tech.units.indriya.ComparableQuantity import java.time.ZonedDateTime diff --git a/src/main/scala/edu/ie3/simona/agent/participant/data/primary/PrimaryDataService.scala b/src/main/scala/edu/ie3/simona/agent/participant/data/primary/PrimaryDataService.scala index 33cb4b7519..9bd212a7a2 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/data/primary/PrimaryDataService.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/data/primary/PrimaryDataService.scala @@ -6,10 +6,10 @@ package edu.ie3.simona.agent.participant.data.primary -import org.apache.pekko.actor.ActorRef import edu.ie3.simona.agent.participant.data.Data.PrimaryData import edu.ie3.simona.agent.participant.data.Data.PrimaryData.ApparentPower import edu.ie3.simona.agent.participant.data.DataService +import org.apache.pekko.actor.ActorRef /** Enum-like trait to denote possible external data sources for systems */ diff --git a/src/main/scala/edu/ie3/simona/agent/participant/data/secondary/SecondaryDataService.scala b/src/main/scala/edu/ie3/simona/agent/participant/data/secondary/SecondaryDataService.scala index 7d2646b87b..240980450f 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/data/secondary/SecondaryDataService.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/data/secondary/SecondaryDataService.scala @@ -6,12 +6,12 @@ package edu.ie3.simona.agent.participant.data.secondary -import org.apache.pekko.actor.ActorRef import edu.ie3.simona.agent.participant.data.Data.SecondaryData import edu.ie3.simona.agent.participant.data.Data.SecondaryData.WholesalePrice import edu.ie3.simona.agent.participant.data.DataService import edu.ie3.simona.ontology.messages.services.EvMessage.EvData import edu.ie3.simona.ontology.messages.services.WeatherMessage.WeatherData +import org.apache.pekko.actor.ActorRef /** Common properties to all secondary data services */ diff --git a/src/main/scala/edu/ie3/simona/agent/participant/evcs/EvcsAgentFundamentals.scala b/src/main/scala/edu/ie3/simona/agent/participant/evcs/EvcsAgentFundamentals.scala index 9bf4dde900..a259daad83 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/evcs/EvcsAgentFundamentals.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/evcs/EvcsAgentFundamentals.scala @@ -29,7 +29,6 @@ import edu.ie3.simona.agent.participant.statedata.{ ParticipantStateData, } import edu.ie3.simona.agent.state.AgentState -import edu.ie3.simona.agent.state.AgentState.Idle import edu.ie3.simona.config.SimonaConfig.EvcsRuntimeConfig import edu.ie3.simona.event.ResultEvent.ParticipantResultEvent import edu.ie3.simona.event.notifier.NotifierConfig @@ -123,7 +122,7 @@ protected trait EvcsAgentFundamentals /* Check for needed services */ if (!services.toSeq.map(_.getClass).containsSlice(neededServices)) throw new AgentInitializationException( - s"EvcsAgent cannot be initialized without an ev data service!" + "EvcsAgent cannot be initialized without an ev data service!" ) /* Build the calculation model */ diff --git a/src/main/scala/edu/ie3/simona/agent/participant/fixedfeedin/FixedFeedInAgentFundamentals.scala b/src/main/scala/edu/ie3/simona/agent/participant/fixedfeedin/FixedFeedInAgentFundamentals.scala index cbaabae42e..711d43d570 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/fixedfeedin/FixedFeedInAgentFundamentals.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/fixedfeedin/FixedFeedInAgentFundamentals.scala @@ -27,7 +27,6 @@ import edu.ie3.simona.agent.participant.statedata.BaseStateData.{ import edu.ie3.simona.agent.participant.statedata.ParticipantStateData import edu.ie3.simona.agent.participant.statedata.ParticipantStateData.InputModelContainer import edu.ie3.simona.agent.state.AgentState -import edu.ie3.simona.agent.state.AgentState.Idle import edu.ie3.simona.config.SimonaConfig.FixedFeedInRuntimeConfig import edu.ie3.simona.event.notifier.NotifierConfig import edu.ie3.simona.exceptions.agent.{ diff --git a/src/main/scala/edu/ie3/simona/agent/participant/hp/HpAgentFundamentals.scala b/src/main/scala/edu/ie3/simona/agent/participant/hp/HpAgentFundamentals.scala index 0fb9103312..c3fa0801f1 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/hp/HpAgentFundamentals.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/hp/HpAgentFundamentals.scala @@ -31,7 +31,6 @@ import edu.ie3.simona.agent.participant.statedata.{ ParticipantStateData, } import edu.ie3.simona.agent.state.AgentState -import edu.ie3.simona.agent.state.AgentState.Idle import edu.ie3.simona.config.SimonaConfig.HpRuntimeConfig import edu.ie3.simona.event.notifier.NotifierConfig import edu.ie3.simona.exceptions.agent.{ diff --git a/src/main/scala/edu/ie3/simona/agent/participant/load/LoadAgentFundamentals.scala b/src/main/scala/edu/ie3/simona/agent/participant/load/LoadAgentFundamentals.scala index 79df65997c..a098661a8b 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/load/LoadAgentFundamentals.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/load/LoadAgentFundamentals.scala @@ -27,7 +27,6 @@ import edu.ie3.simona.agent.participant.statedata.BaseStateData.{ import edu.ie3.simona.agent.participant.statedata.ParticipantStateData import edu.ie3.simona.agent.participant.statedata.ParticipantStateData.InputModelContainer import edu.ie3.simona.agent.state.AgentState -import edu.ie3.simona.agent.state.AgentState.Idle import edu.ie3.simona.config.SimonaConfig.LoadRuntimeConfig import edu.ie3.simona.event.notifier.NotifierConfig import edu.ie3.simona.exceptions.agent.InconsistentStateException @@ -310,7 +309,7 @@ protected trait LoadAgentFundamentals[LD <: LoadRelevantData, LM <: LoadModel[ scheduler: ActorRef, ): FSM.State[AgentState, ParticipantStateData[ApparentPower]] = throw new InconsistentStateException( - s"Load model is not able to calculate power with secondary data." + "Load model is not able to calculate power with secondary data." ) /** Determine the average result within the given tick window diff --git a/src/main/scala/edu/ie3/simona/agent/participant/pv/PvAgentFundamentals.scala b/src/main/scala/edu/ie3/simona/agent/participant/pv/PvAgentFundamentals.scala index a60fa87b63..3bc07c7709 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/pv/PvAgentFundamentals.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/pv/PvAgentFundamentals.scala @@ -28,7 +28,6 @@ import edu.ie3.simona.agent.participant.statedata.BaseStateData.{ import edu.ie3.simona.agent.participant.statedata.ParticipantStateData import edu.ie3.simona.agent.participant.statedata.ParticipantStateData.InputModelContainer import edu.ie3.simona.agent.state.AgentState -import edu.ie3.simona.agent.state.AgentState.Idle import edu.ie3.simona.config.SimonaConfig.PvRuntimeConfig import edu.ie3.simona.event.notifier.NotifierConfig import edu.ie3.simona.exceptions.agent.{ @@ -122,7 +121,7 @@ protected trait PvAgentFundamentals /* Check for needed services */ if (!services.toSeq.map(_.getClass).containsSlice(neededServices)) throw new AgentInitializationException( - s"PvAgent cannot be initialized without a weather service!" + "PvAgent cannot be initialized without a weather service!" ) /* Build the calculation model */ diff --git a/src/main/scala/edu/ie3/simona/agent/participant/statedata/DataCollectionStateData.scala b/src/main/scala/edu/ie3/simona/agent/participant/statedata/DataCollectionStateData.scala index 1ce8cf9352..59236c55f6 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/statedata/DataCollectionStateData.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/statedata/DataCollectionStateData.scala @@ -6,9 +6,9 @@ package edu.ie3.simona.agent.participant.statedata -import org.apache.pekko.actor.ActorRef import edu.ie3.simona.agent.participant.data.Data import edu.ie3.simona.agent.participant.data.Data.PrimaryData.PrimaryDataWithApparentPower +import org.apache.pekko.actor.ActorRef import scala.reflect.{ClassTag, classTag} diff --git a/src/main/scala/edu/ie3/simona/agent/participant/wec/WecAgentFundamentals.scala b/src/main/scala/edu/ie3/simona/agent/participant/wec/WecAgentFundamentals.scala index 955131bafc..7244381994 100644 --- a/src/main/scala/edu/ie3/simona/agent/participant/wec/WecAgentFundamentals.scala +++ b/src/main/scala/edu/ie3/simona/agent/participant/wec/WecAgentFundamentals.scala @@ -25,7 +25,6 @@ import edu.ie3.simona.agent.participant.statedata.ParticipantStateData import edu.ie3.simona.agent.participant.statedata.ParticipantStateData.InputModelContainer import edu.ie3.simona.agent.participant.wec.WecAgent.neededServices import edu.ie3.simona.agent.state.AgentState -import edu.ie3.simona.agent.state.AgentState.Idle import edu.ie3.simona.config.SimonaConfig.WecRuntimeConfig import edu.ie3.simona.event.notifier.NotifierConfig import edu.ie3.simona.exceptions.agent.{ diff --git a/src/main/scala/edu/ie3/simona/api/ExtSimAdapter.scala b/src/main/scala/edu/ie3/simona/api/ExtSimAdapter.scala index be3d434a8a..7ad57e4533 100644 --- a/src/main/scala/edu/ie3/simona/api/ExtSimAdapter.scala +++ b/src/main/scala/edu/ie3/simona/api/ExtSimAdapter.scala @@ -6,17 +6,10 @@ package edu.ie3.simona.api -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{Actor, ActorRef, PoisonPill, Props} import edu.ie3.simona.api.ExtSimAdapter.{Create, ExtSimAdapterStateData} import edu.ie3.simona.api.data.ontology.ScheduleDataServiceMessage import edu.ie3.simona.api.simulation.ExtSimAdapterData -import edu.ie3.simona.api.simulation.ontology.{ - ActivationMessage, - TerminationCompleted, - TerminationMessage, - CompletionMessage => ExtCompletionMessage, -} +import edu.ie3.simona.api.simulation.ontology.{ActivationMessage, CompletionMessage => ExtCompletionMessage, TerminationCompleted, TerminationMessage} import edu.ie3.simona.logging.SimonaActorLogging import edu.ie3.simona.ontology.messages.SchedulerMessage.{ Completion, @@ -27,6 +20,8 @@ import edu.ie3.simona.ontology.messages.{Activation, StopMessage} import edu.ie3.simona.scheduler.ScheduleLock import edu.ie3.simona.scheduler.ScheduleLock.ScheduleKey import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{Actor, ActorRef, PoisonPill, Props} import scala.jdk.OptionConverters._ diff --git a/src/main/scala/edu/ie3/simona/config/ArgsParser.scala b/src/main/scala/edu/ie3/simona/config/ArgsParser.scala index 183aa8149c..017dc196c5 100644 --- a/src/main/scala/edu/ie3/simona/config/ArgsParser.scala +++ b/src/main/scala/edu/ie3/simona/config/ArgsParser.scala @@ -6,7 +6,7 @@ package edu.ie3.simona.config -import com.typesafe.config.{ConfigFactory, Config => TypesafeConfig} +import com.typesafe.config.{Config => TypesafeConfig, ConfigFactory} import com.typesafe.scalalogging.LazyLogging import edu.ie3.simona.event.listener.SimonaListenerCompanion import edu.ie3.util.scala.ReflectionTools diff --git a/src/main/scala/edu/ie3/simona/config/ConfigFailFast.scala b/src/main/scala/edu/ie3/simona/config/ConfigFailFast.scala index e2ca6a0cb6..f63b877aca 100644 --- a/src/main/scala/edu/ie3/simona/config/ConfigFailFast.scala +++ b/src/main/scala/edu/ie3/simona/config/ConfigFailFast.scala @@ -160,7 +160,7 @@ case object ConfigFailFast extends LazyLogging { .equals(supportedSinks) ) throw new InvalidConfigParameterException( - s"Newly added sink(s) " + + "Newly added sink(s) " + s"'${sink.productElementNames.map(_.toLowerCase).toSet.removedAll(supportedSinks)}' detected! " + s"Please adapt 'ConfigFailFast' accordingly! Currently supported sinks: ${supportedSinks.mkString(", ")}." ) @@ -214,8 +214,8 @@ case object ConfigFailFast extends LazyLogging { if (startDate.isAfter(endDate)) throw new InvalidConfigParameterException( - s"Invalid time configuration." + - s"Please ensure that the start time of the simulation is before the end time." + "Invalid time configuration." + + "Please ensure that the start time of the simulation is before the end time." ) } @@ -234,7 +234,7 @@ case object ConfigFailFast extends LazyLogging { case e: DateTimeParseException => throw new InvalidConfigParameterException( s"Invalid dateTimeString: $dateTimeString." + - s"Please ensure that your date/time parameter match the following pattern: 'yyyy-MM-dd HH:mm:ss'", + "Please ensure that your date/time parameter match the following pattern: 'yyyy-MM-dd HH:mm:ss'", e, ) } @@ -435,7 +435,7 @@ case object ConfigFailFast extends LazyLogging { if (voltLvls.isEmpty && gridIds.isEmpty) throw new InvalidConfigParameterException( "The provided values for voltLvls and gridIds are empty! " + - s"At least one of these optional parameters has to be provided for a valid refSystem! " + + "At least one of these optional parameters has to be provided for a valid refSystem! " + s"Provided refSystem is: $refSystem." ) @@ -577,8 +577,8 @@ case object ConfigFailFast extends LazyLogging { .get(ChronoUnit.MILLIS) != 0) ) { throw new InvalidConfigParameterException( - s"Invalid time resolution. Please ensure, that " + - s"the time resolution for power flow calculation is at least rounded to a full second!" + "Invalid time resolution. Please ensure, that " + + "the time resolution for power flow calculation is at least rounded to a full second!" ) } } diff --git a/src/main/scala/edu/ie3/simona/config/RefSystemParser.scala b/src/main/scala/edu/ie3/simona/config/RefSystemParser.scala index d299dc16d7..ea9e4ddadb 100644 --- a/src/main/scala/edu/ie3/simona/config/RefSystemParser.scala +++ b/src/main/scala/edu/ie3/simona/config/RefSystemParser.scala @@ -106,8 +106,8 @@ object RefSystemParser { ) ) throw new InvalidConfigParameterException( - s"The provided gridIds in simona.gridConfig.refSystems contains duplicates. " + - s"Please check if there are either duplicate entries or overlapping ranges!" + "The provided gridIds in simona.gridConfig.refSystems contains duplicates. " + + "Please check if there are either duplicate entries or overlapping ranges!" ) if ( CollectionUtils.listHasDuplicates( @@ -115,8 +115,8 @@ object RefSystemParser { ) ) throw new InvalidConfigParameterException( - s"The provided voltLvls in simona.gridConfig.refSystems contains duplicates. " + - s"Please check your configuration for duplicates in voltLvl entries!" + "The provided voltLvls in simona.gridConfig.refSystems contains duplicates. " + + "Please check your configuration for duplicates in voltLvl entries!" ) ConfigRefSystems(gridIdRefSystems.toMap, voltLvlRefSystems.toMap) diff --git a/src/main/scala/edu/ie3/simona/config/VoltLvlParser.scala b/src/main/scala/edu/ie3/simona/config/VoltLvlParser.scala index 885adae81e..0f22dfb96f 100644 --- a/src/main/scala/edu/ie3/simona/config/VoltLvlParser.scala +++ b/src/main/scala/edu/ie3/simona/config/VoltLvlParser.scala @@ -12,13 +12,13 @@ import edu.ie3.datamodel.models.voltagelevels.{ GermanVoltageLevelUtils, VoltageLevel, } -import edu.ie3.simona.config.SimonaConfig.VoltLvlConfig import edu.ie3.simona.exceptions.InvalidConfigParameterException import edu.ie3.util.quantities.QuantityUtil -import javax.measure.quantity.ElectricPotential import tech.units.indriya.ComparableQuantity import tech.units.indriya.quantity.Quantities +import javax.measure.quantity.ElectricPotential + /** Parses voltage level elements */ object VoltLvlParser { diff --git a/src/main/scala/edu/ie3/simona/event/RuntimeEvent.scala b/src/main/scala/edu/ie3/simona/event/RuntimeEvent.scala index c7e793a9a2..8a6fa5db2b 100644 --- a/src/main/scala/edu/ie3/simona/event/RuntimeEvent.scala +++ b/src/main/scala/edu/ie3/simona/event/RuntimeEvent.scala @@ -14,7 +14,7 @@ object RuntimeEvent { /** Indicates that all required agents and services are currently being * initialized for simulation */ - final case object Initializing extends RuntimeEvent + case object Initializing extends RuntimeEvent /** Indicates that the scheduler has finished a pre-defined advancement in * ticks and is ready to carry out the next task. In contrast to the @@ -86,7 +86,7 @@ object RuntimeEvent { /** Indicates that a power flow calculation has failed. This event is not * forwarded to sinks, but rather counted in runtime statistics. */ - final case object PowerFlowFailed extends RuntimeEvent + case object PowerFlowFailed extends RuntimeEvent /** Indicates that an error occurred during the simulation, thereby preventing * continuation diff --git a/src/main/scala/edu/ie3/simona/event/listener/DeadLetterListener.scala b/src/main/scala/edu/ie3/simona/event/listener/DeadLetterListener.scala index 9bad9ed999..e25b0bfcf7 100644 --- a/src/main/scala/edu/ie3/simona/event/listener/DeadLetterListener.scala +++ b/src/main/scala/edu/ie3/simona/event/listener/DeadLetterListener.scala @@ -6,8 +6,8 @@ package edu.ie3.simona.event.listener -import org.apache.pekko.actor.{Actor, DeadLetter, Props} import com.typesafe.scalalogging.LazyLogging +import org.apache.pekko.actor.{Actor, DeadLetter, Props} /** Simply reads the message, it receives */ diff --git a/src/main/scala/edu/ie3/simona/event/listener/ResultEventListener.scala b/src/main/scala/edu/ie3/simona/event/listener/ResultEventListener.scala index fcd820db4c..101378aa18 100644 --- a/src/main/scala/edu/ie3/simona/event/listener/ResultEventListener.scala +++ b/src/main/scala/edu/ie3/simona/event/listener/ResultEventListener.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.event.listener -import org.apache.pekko.actor.typed.scaladsl.Behaviors -import org.apache.pekko.actor.typed.{Behavior, PostStop} import edu.ie3.datamodel.io.processor.result.ResultEntityProcessor import edu.ie3.datamodel.models.result.{NodeResult, ResultEntity} import edu.ie3.simona.agent.grid.GridResultsSupport.PartialTransformer3wResult @@ -25,6 +23,8 @@ import edu.ie3.simona.exceptions.{ import edu.ie3.simona.io.result._ import edu.ie3.simona.ontology.messages.StopMessage import edu.ie3.simona.util.ResultFileHierarchy +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{Behavior, PostStop} import org.slf4j.Logger import scala.concurrent.ExecutionContext.Implicits.global @@ -42,7 +42,7 @@ object ResultEventListener extends Transformer3wResultSupport { private final case class Failed(ex: Exception) extends ResultMessage - private final case object StopTimeout extends ResultMessage + private case object StopTimeout extends ResultMessage /** [[ResultEventListener]] base data containing all information the listener * needs @@ -241,7 +241,7 @@ object ResultEventListener extends Transformer3wResultSupport { ctx.log.debug("NodeResults will be processed by a Kafka sink.") case _ => ctx.log.debug( - s"Events that will be processed: {}", + "Events that will be processed: {}", resultFileHierarchy.resultEntitiesToConsider .map(_.getSimpleName) .mkString(","), diff --git a/src/main/scala/edu/ie3/simona/event/listener/RuntimeEventListener.scala b/src/main/scala/edu/ie3/simona/event/listener/RuntimeEventListener.scala index 3b12951688..1a133a9b6a 100644 --- a/src/main/scala/edu/ie3/simona/event/listener/RuntimeEventListener.scala +++ b/src/main/scala/edu/ie3/simona/event/listener/RuntimeEventListener.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.event.listener -import org.apache.pekko.actor.typed.{Behavior, PostStop} -import org.apache.pekko.actor.typed.scaladsl.Behaviors import edu.ie3.simona.config.SimonaConfig import edu.ie3.simona.event.RuntimeEvent import edu.ie3.simona.event.RuntimeEvent.PowerFlowFailed @@ -19,6 +17,8 @@ import edu.ie3.simona.io.runtime.{ RuntimeEventSink, } import edu.ie3.util.TimeUtil +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{Behavior, PostStop} import org.slf4j.Logger import java.util.concurrent.BlockingQueue diff --git a/src/main/scala/edu/ie3/simona/event/listener/SimonaListenerWithFilter.scala b/src/main/scala/edu/ie3/simona/event/listener/SimonaListenerWithFilter.scala index 666120e80e..f610c664e3 100644 --- a/src/main/scala/edu/ie3/simona/event/listener/SimonaListenerWithFilter.scala +++ b/src/main/scala/edu/ie3/simona/event/listener/SimonaListenerWithFilter.scala @@ -6,9 +6,9 @@ package edu.ie3.simona.event.listener -import org.apache.pekko.actor.ActorRef import edu.ie3.simona.event.Event import edu.ie3.simona.logging.SimonaActorLogging +import org.apache.pekko.actor.ActorRef /** Implementations can be registered at simulation setup and will then receive * and process [[Event]] s from other Actors diff --git a/src/main/scala/edu/ie3/simona/event/listener/Transformer3wResultSupport.scala b/src/main/scala/edu/ie3/simona/event/listener/Transformer3wResultSupport.scala index 97e443a2b0..d1867b0090 100644 --- a/src/main/scala/edu/ie3/simona/event/listener/Transformer3wResultSupport.scala +++ b/src/main/scala/edu/ie3/simona/event/listener/Transformer3wResultSupport.scala @@ -8,8 +8,8 @@ package edu.ie3.simona.event.listener import edu.ie3.datamodel.models.result.connector.Transformer3WResult import edu.ie3.simona.agent.grid.GridResultsSupport.PartialTransformer3wResult -import tech.units.indriya.quantity.Quantities import edu.ie3.util.quantities.PowerSystemUnits +import tech.units.indriya.quantity.Quantities import tech.units.indriya.unit.Units import java.time.ZonedDateTime @@ -118,7 +118,7 @@ private[listener] trait Transformer3wResultSupport { } } - final object AggregatedTransformer3wResult { + object AggregatedTransformer3wResult { val EMPTY: AggregatedTransformer3wResult = AggregatedTransformer3wResult(None, None, None) } diff --git a/src/main/scala/edu/ie3/simona/event/notifier/Notifier.scala b/src/main/scala/edu/ie3/simona/event/notifier/Notifier.scala index 916a97f9cb..419ad4baab 100644 --- a/src/main/scala/edu/ie3/simona/event/notifier/Notifier.scala +++ b/src/main/scala/edu/ie3/simona/event/notifier/Notifier.scala @@ -6,8 +6,8 @@ package edu.ie3.simona.event.notifier -import org.apache.pekko.actor.{Actor, ActorRef} import edu.ie3.simona.event.Event +import org.apache.pekko.actor.{Actor, ActorRef} trait Notifier extends Actor { diff --git a/src/main/scala/edu/ie3/simona/exceptions/CharacteristicsException.scala b/src/main/scala/edu/ie3/simona/exceptions/CharacteristicsException.scala index 7bd3b4a839..e5e0989d68 100644 --- a/src/main/scala/edu/ie3/simona/exceptions/CharacteristicsException.scala +++ b/src/main/scala/edu/ie3/simona/exceptions/CharacteristicsException.scala @@ -6,10 +6,8 @@ package edu.ie3.simona.exceptions -import edu.ie3.simona.model.system.Characteristic - /** Exception that should be used whenever an exception occurs in - * [[Characteristic]] + * [[edu.ie3.simona.model.system.Characteristic]] * * @param message * specific error message diff --git a/src/main/scala/edu/ie3/simona/io/result/ResultEntityCsvSink.scala b/src/main/scala/edu/ie3/simona/io/result/ResultEntityCsvSink.scala index 88e6d5a080..66d7d1e0e6 100644 --- a/src/main/scala/edu/ie3/simona/io/result/ResultEntityCsvSink.scala +++ b/src/main/scala/edu/ie3/simona/io/result/ResultEntityCsvSink.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.io.result -import org.apache.pekko.stream.IOResult import com.typesafe.scalalogging.LazyLogging import edu.ie3.datamodel.exceptions.EntityProcessorException import edu.ie3.datamodel.io.processor.result.ResultEntityProcessor @@ -14,6 +13,7 @@ import edu.ie3.datamodel.models.result.ResultEntity import edu.ie3.simona.exceptions.ProcessResultEventException import edu.ie3.util.StringUtils import edu.ie3.util.io.FileIOUtils +import org.apache.pekko.stream.IOResult import java.io.{BufferedWriter, File, FileWriter, Writer} import java.lang diff --git a/src/main/scala/edu/ie3/simona/io/result/ResultEntityKafkaSink.scala b/src/main/scala/edu/ie3/simona/io/result/ResultEntityKafkaSink.scala index 3effd9dd2d..99c6574c15 100644 --- a/src/main/scala/edu/ie3/simona/io/result/ResultEntityKafkaSink.scala +++ b/src/main/scala/edu/ie3/simona/io/result/ResultEntityKafkaSink.scala @@ -34,10 +34,15 @@ final case class ResultEntityKafkaSink[ ) extends ResultEntitySink { override def handleResultEntity(resultEntity: ResultEntity): Unit = { - val plainEntity = plainWriter.writePlain(resultEntity.asInstanceOf[V]) - producer.send( - new ProducerRecord[String, P](topic, plainEntity) - ) + resultEntity match { + case matchingEntity: V => + val plainEntity = plainWriter.writePlain(matchingEntity) + producer.send( + new ProducerRecord[String, P](topic, plainEntity) + ) + case other => + throw new RuntimeException(s"Received unexpected result entity $other") + } } override def close(): Unit = { diff --git a/src/main/scala/edu/ie3/simona/io/result/ResultSinkType.scala b/src/main/scala/edu/ie3/simona/io/result/ResultSinkType.scala index 3510810062..3eb281bee7 100644 --- a/src/main/scala/edu/ie3/simona/io/result/ResultSinkType.scala +++ b/src/main/scala/edu/ie3/simona/io/result/ResultSinkType.scala @@ -61,7 +61,7 @@ object ResultSinkType { ) case None => throw new IllegalArgumentException( - s"No sinks defined! Cannot determine the sink type!" + "No sinks defined! Cannot determine the sink type!" ) case unknown => throw new IllegalArgumentException( diff --git a/src/main/scala/edu/ie3/simona/logging/SimonaLogging.scala b/src/main/scala/edu/ie3/simona/logging/SimonaLogging.scala index 933eed80a7..f0be6e3fce 100644 --- a/src/main/scala/edu/ie3/simona/logging/SimonaLogging.scala +++ b/src/main/scala/edu/ie3/simona/logging/SimonaLogging.scala @@ -6,6 +6,7 @@ package edu.ie3.simona.logging +import edu.ie3.simona.actor.SimonaActorNaming import org.apache.pekko.actor.{Actor, ActorSystem, ExtendedActorSystem} import org.apache.pekko.event.{ LogSource, @@ -13,7 +14,6 @@ import org.apache.pekko.event.{ LoggingBus, LoggingFilter, } -import edu.ie3.simona.actor.SimonaActorNaming private[logging] trait SimonaLogging { this: Actor => diff --git a/src/main/scala/edu/ie3/simona/logging/logback/LogbackConfiguration.scala b/src/main/scala/edu/ie3/simona/logging/logback/LogbackConfiguration.scala index 3d236a1f41..b161938904 100644 --- a/src/main/scala/edu/ie3/simona/logging/logback/LogbackConfiguration.scala +++ b/src/main/scala/edu/ie3/simona/logging/logback/LogbackConfiguration.scala @@ -10,9 +10,9 @@ import ch.qos.logback.classic.LoggerContext import ch.qos.logback.classic.encoder.PatternLayoutEncoder import ch.qos.logback.classic.filter.ThresholdFilter import ch.qos.logback.classic.spi.ILoggingEvent -import ch.qos.logback.core.rolling.RollingFileAppender import ch.qos.logback.core.FileAppender import ch.qos.logback.core.filter.Filter +import ch.qos.logback.core.rolling.RollingFileAppender import com.typesafe.scalalogging.LazyLogging import org.slf4j.LoggerFactory diff --git a/src/main/scala/edu/ie3/simona/main/RunSimona.scala b/src/main/scala/edu/ie3/simona/main/RunSimona.scala index df011e6614..fda5a23031 100644 --- a/src/main/scala/edu/ie3/simona/main/RunSimona.scala +++ b/src/main/scala/edu/ie3/simona/main/RunSimona.scala @@ -6,15 +6,14 @@ package edu.ie3.simona.main -import java.util.Locale - -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.pattern.gracefulStop -import org.apache.pekko.util.Timeout import com.typesafe.scalalogging.LazyLogging import edu.ie3.simona.sim.setup.SimonaSetup import edu.ie3.util.scala.quantities.QuantityUtil +import org.apache.pekko.actor.ActorRef +import org.apache.pekko.pattern.gracefulStop +import org.apache.pekko.util.Timeout +import java.util.Locale import scala.concurrent.Future import scala.concurrent.duration.FiniteDuration import scala.util.Random diff --git a/src/main/scala/edu/ie3/simona/main/RunSimonaStandalone.scala b/src/main/scala/edu/ie3/simona/main/RunSimonaStandalone.scala index 1fe37611a5..5b8a404962 100644 --- a/src/main/scala/edu/ie3/simona/main/RunSimonaStandalone.scala +++ b/src/main/scala/edu/ie3/simona/main/RunSimonaStandalone.scala @@ -6,21 +6,15 @@ package edu.ie3.simona.main -import org.apache.pekko.actor.ActorSystem - -import java.util.concurrent.TimeUnit -import org.apache.pekko.pattern.ask -import org.apache.pekko.util.Timeout import edu.ie3.simona.config.{ArgsParser, ConfigFailFast, SimonaConfig} -import edu.ie3.simona.sim.SimMessage.{ - InitSim, - SimulationFailure, - SimulationSuccessful, - StartSimulation, -} +import edu.ie3.simona.sim.SimMessage.{InitSim, SimulationFailure, SimulationSuccessful} import edu.ie3.simona.sim.SimonaSim import edu.ie3.simona.sim.setup.SimonaStandaloneSetup +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.pattern.ask +import org.apache.pekko.util.Timeout +import java.util.concurrent.TimeUnit import scala.concurrent.Await /** Run a standalone simulation of simona diff --git a/src/main/scala/edu/ie3/simona/model/SystemComponent.scala b/src/main/scala/edu/ie3/simona/model/SystemComponent.scala index 623e5a58c3..efb44192f1 100644 --- a/src/main/scala/edu/ie3/simona/model/SystemComponent.scala +++ b/src/main/scala/edu/ie3/simona/model/SystemComponent.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.model -import java.time.ZonedDateTime -import java.util.UUID - import com.typesafe.scalalogging.LazyLogging import edu.ie3.datamodel.models.OperationTime import edu.ie3.simona.exceptions.{ @@ -18,6 +15,8 @@ import edu.ie3.simona.exceptions.{ import edu.ie3.simona.util.TickUtil._ import edu.ie3.util.scala.OperationInterval +import java.time.ZonedDateTime +import java.util.UUID import scala.jdk.OptionConverters._ import scala.util.{Failure, Success, Try} diff --git a/src/main/scala/edu/ie3/simona/model/grid/GridModel.scala b/src/main/scala/edu/ie3/simona/model/grid/GridModel.scala index 27a3f556ea..064ce04b75 100644 --- a/src/main/scala/edu/ie3/simona/model/grid/GridModel.scala +++ b/src/main/scala/edu/ie3/simona/model/grid/GridModel.scala @@ -133,8 +133,9 @@ case object GridModel { transformerInput: Transformer3WInput, nodes: Seq[NodeModel], ): (NodeModel, NodeModel, NodeModel) = { + val connectorInput: ConnectorInput = transformerInput // upcast val (nodeA, nodeB) = - getConnectedNodes(transformerInput.asInstanceOf[ConnectorInput], nodes) + getConnectedNodes(connectorInput, nodes) val nodeCOpt: Option[NodeModel] = nodes.find( _.uuid.equals(transformerInput.getNodeC.getUuid) ) @@ -179,7 +180,7 @@ case object GridModel { admittanceMatrix, ) ) - throw new RuntimeException(s"Admittance matrix is illegal.") + throw new RuntimeException("Admittance matrix is illegal.") else admittanceMatrix } diff --git a/src/main/scala/edu/ie3/simona/model/grid/LineModel.scala b/src/main/scala/edu/ie3/simona/model/grid/LineModel.scala index 60a2621630..59c40e7ff5 100644 --- a/src/main/scala/edu/ie3/simona/model/grid/LineModel.scala +++ b/src/main/scala/edu/ie3/simona/model/grid/LineModel.scala @@ -288,25 +288,25 @@ case object LineModel extends LazyLogging { if (lineType.getR.getValue.doubleValue() <= 0) throw new InvalidGridException( s"Resistance r of lineType ${lineType.getUuid} used in line ${lineInput.getUuid} is 0 or smaller, " + - s"which is not allowed! Please correct parameters!" + "which is not allowed! Please correct parameters!" ) if (lineType.getX.getValue.doubleValue() <= 0) throw new InvalidGridException( s"Reactance x of lineType ${lineType.getUuid} used in line ${lineInput.getUuid} is 0 or smaller," + - s" which is not allowed! Please correct parameters!" + " which is not allowed! Please correct parameters!" ) if (lineType.getB.getValue.doubleValue() < 0) throw new InvalidGridException( s"Susceptance b of lineType ${lineType.getUuid} used in line ${lineInput.getUuid} is smaller " + - s"than 0, which is not allowed! Please correct parameters!" + "than 0, which is not allowed! Please correct parameters!" ) if (lineType.getG.getValue.doubleValue() < 0) throw new InvalidGridException( s"Conductance g of lineType ${lineType.getUuid} used in line ${lineInput.getUuid} is smaller " + - s"than 0, which is not allowed! Please correct parameters!" + "than 0, which is not allowed! Please correct parameters!" ) } diff --git a/src/main/scala/edu/ie3/simona/model/grid/SwitchModel.scala b/src/main/scala/edu/ie3/simona/model/grid/SwitchModel.scala index 5a5a457a5f..35ba6e7ac1 100644 --- a/src/main/scala/edu/ie3/simona/model/grid/SwitchModel.scala +++ b/src/main/scala/edu/ie3/simona/model/grid/SwitchModel.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.model.grid -import java.time.ZonedDateTime -import java.util.UUID import edu.ie3.datamodel.exceptions.InvalidGridException import edu.ie3.datamodel.models.input.connector.SwitchInput import edu.ie3.simona.exceptions.InvalidActionRequestException @@ -15,6 +13,8 @@ import edu.ie3.simona.model.SystemComponent import edu.ie3.simona.util.SimonaConstants import edu.ie3.util.scala.OperationInterval +import java.time.ZonedDateTime +import java.util.UUID import scala.util.{Failure, Success, Try} /** This model represents an electric power switch diff --git a/src/main/scala/edu/ie3/simona/model/grid/TransformerModel.scala b/src/main/scala/edu/ie3/simona/model/grid/TransformerModel.scala index 7a63cbf489..cce6c7427b 100644 --- a/src/main/scala/edu/ie3/simona/model/grid/TransformerModel.scala +++ b/src/main/scala/edu/ie3/simona/model/grid/TransformerModel.scala @@ -288,7 +288,7 @@ case object TransformerModel { s"The rated voltage of the high voltage side (${transformerInput.getType.getvRatedA()}) of transformer " + s"${transformerInput.getUuid} is closer to the reference voltage ($vRef), as the rated voltage of the " + s"low voltage side (${transformerInput.getType.getvRatedB()}). Is the transformer connected the right way " + - s"round?" + "round?" ) // valid r,x,g,b values? diff --git a/src/main/scala/edu/ie3/simona/model/grid/TransformerTapping.scala b/src/main/scala/edu/ie3/simona/model/grid/TransformerTapping.scala index 809e7c5f8f..8aa32bc5de 100644 --- a/src/main/scala/edu/ie3/simona/model/grid/TransformerTapping.scala +++ b/src/main/scala/edu/ie3/simona/model/grid/TransformerTapping.scala @@ -7,9 +7,10 @@ package edu.ie3.simona.model.grid import edu.ie3.util.quantities.PowerSystemUnits._ +import tech.units.indriya.quantity.Quantities + import javax.measure.Quantity import javax.measure.quantity.Dimensionless -import tech.units.indriya.quantity.Quantities /** should be mixed into every transformer model that is capable of transformer * tapping. Currently mixed into [[TransformerModel]] and diff --git a/src/main/scala/edu/ie3/simona/model/grid/TransformerTappingModel.scala b/src/main/scala/edu/ie3/simona/model/grid/TransformerTappingModel.scala index 602259cec2..777534356a 100644 --- a/src/main/scala/edu/ie3/simona/model/grid/TransformerTappingModel.scala +++ b/src/main/scala/edu/ie3/simona/model/grid/TransformerTappingModel.scala @@ -11,10 +11,10 @@ import com.typesafe.scalalogging.LazyLogging import edu.ie3.datamodel.models.input.connector.ConnectorPort import edu.ie3.simona.exceptions.InvalidActionRequestException import edu.ie3.util.quantities.PowerSystemUnits._ +import tech.units.indriya.quantity.Quantities import javax.measure.Quantity import javax.measure.quantity.Dimensionless -import tech.units.indriya.quantity.Quantities /** Holds all functions a transformer with tapping control is capable of. If * used by a transformer model, it is recommended to be used via diff --git a/src/main/scala/edu/ie3/simona/model/participant/ChpModel.scala b/src/main/scala/edu/ie3/simona/model/participant/ChpModel.scala index 302fa02229..42cf93308c 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/ChpModel.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/ChpModel.scala @@ -18,12 +18,11 @@ import edu.ie3.simona.ontology.messages.flex.MinMaxFlexibilityMessage.ProvideMin import edu.ie3.util.quantities.PowerSystemUnits import edu.ie3.util.scala.OperationInterval import edu.ie3.util.scala.quantities.DefaultQuantities -import squants.{Energy, Power, Seconds, Time} import squants.energy.{KilowattHours, Kilowatts} - -import java.util.UUID +import squants.{Energy, Power, Seconds, Time} import java.time.ZonedDateTime +import java.util.UUID /** Model of a combined heat and power plant (CHP) with a [[ThermalStorage]] * medium and its current [[ChpState]]. diff --git a/src/main/scala/edu/ie3/simona/model/participant/SystemParticipant.scala b/src/main/scala/edu/ie3/simona/model/participant/SystemParticipant.scala index 92d47f8ae0..f035497d04 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/SystemParticipant.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/SystemParticipant.scala @@ -226,7 +226,7 @@ abstract class SystemParticipant[ s"The var characteristics \'$qControl\' of model \'$id\' ($uuid) imposes an apparent " + s"power (= $apparentPower) that exceeds " + s"rated apparent power specifications (= $sMax). " + - s"Therefore, setting reactive power output to the to the upper limit " + + "Therefore, setting reactive power output to the to the upper limit " + s"in correspondence to the existing active power $activePower." ) @@ -235,7 +235,7 @@ abstract class SystemParticipant[ if (powerSquaredDifference < 0) { logger.warn( - s"Active power of model exceeds sRated. Set reactive power to 0!" + "Active power of model exceeds sRated. Set reactive power to 0!" ) Megavars(0d) } else { diff --git a/src/main/scala/edu/ie3/simona/model/participant/control/QControl.scala b/src/main/scala/edu/ie3/simona/model/participant/control/QControl.scala index 37355d55b4..1f60cb166d 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/control/QControl.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/control/QControl.scala @@ -14,7 +14,6 @@ import edu.ie3.simona.model.system.Characteristic.XYPair import edu.ie3.util.quantities.PowerSystemUnits.PU import edu.ie3.util.scala.quantities.{Megavars, ReactivePower} import squants.{Dimensionless, Each, Power} -import tech.units.indriya.AbstractUnit import scala.collection.SortedSet import scala.collection.immutable.TreeSet diff --git a/src/main/scala/edu/ie3/simona/model/participant/evcs/uncontrolled/ConstantPowerCharging.scala b/src/main/scala/edu/ie3/simona/model/participant/evcs/uncontrolled/ConstantPowerCharging.scala index 20106c77af..488935c5ce 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/evcs/uncontrolled/ConstantPowerCharging.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/evcs/uncontrolled/ConstantPowerCharging.scala @@ -6,10 +6,7 @@ package edu.ie3.simona.model.participant.evcs.uncontrolled -import edu.ie3.simona.model.participant.evcs.EvcsModel.{ - ScheduleMap, - ScheduleEntry, -} +import edu.ie3.simona.model.participant.evcs.EvcsModel.{ScheduleEntry, ScheduleMap} import edu.ie3.simona.model.participant.evcs.{EvModelWrapper, EvcsModel} import squants.Seconds diff --git a/src/main/scala/edu/ie3/simona/model/participant/evcs/uncontrolled/MaximumPowerCharging.scala b/src/main/scala/edu/ie3/simona/model/participant/evcs/uncontrolled/MaximumPowerCharging.scala index eac55d9fcc..3b34513bc1 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/evcs/uncontrolled/MaximumPowerCharging.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/evcs/uncontrolled/MaximumPowerCharging.scala @@ -6,10 +6,7 @@ package edu.ie3.simona.model.participant.evcs.uncontrolled -import edu.ie3.simona.model.participant.evcs.EvcsModel.{ - ScheduleMap, - ScheduleEntry, -} +import edu.ie3.simona.model.participant.evcs.EvcsModel.{ScheduleEntry, ScheduleMap} import edu.ie3.simona.model.participant.evcs.{EvModelWrapper, EvcsModel} import squants.Seconds diff --git a/src/main/scala/edu/ie3/simona/model/participant/load/profile/LoadProfileKey.scala b/src/main/scala/edu/ie3/simona/model/participant/load/profile/LoadProfileKey.scala index af77c3fa55..370c89e585 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/load/profile/LoadProfileKey.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/load/profile/LoadProfileKey.scala @@ -6,12 +6,13 @@ package edu.ie3.simona.model.participant.load.profile -import java.time.ZonedDateTime import edu.ie3.datamodel.exceptions.ParsingException import edu.ie3.datamodel.models.profile.StandardLoadProfile import edu.ie3.simona.model.participant.load import edu.ie3.simona.model.participant.load.{DayType, profile} +import java.time.ZonedDateTime + /** A key describing a load profile, consisting of consumer type, a season and a * day type. Is used to store load profile values for a single type. * diff --git a/src/main/scala/edu/ie3/simona/model/participant/load/profile/LoadProfileStore.scala b/src/main/scala/edu/ie3/simona/model/participant/load/profile/LoadProfileStore.scala index f1e7d54f62..68012278c2 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/load/profile/LoadProfileStore.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/load/profile/LoadProfileStore.scala @@ -24,10 +24,8 @@ import java.io.{InputStreamReader, Reader} import java.time.{Duration, ZonedDateTime} import java.util import scala.jdk.CollectionConverters._ -import scala.math.pow - -// needs to be imported for max function import scala.math.Ordering.Double.IeeeOrdering +import scala.math.pow /** Storage for a collection of standard load profiles. It is assumed, that each * entry is given in W - which especially holds true for the standard load diff --git a/src/main/scala/edu/ie3/simona/model/participant/load/profile/TypeDayProfile.scala b/src/main/scala/edu/ie3/simona/model/participant/load/profile/TypeDayProfile.scala index dd2fcb6a18..8898733505 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/load/profile/TypeDayProfile.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/load/profile/TypeDayProfile.scala @@ -6,11 +6,9 @@ package edu.ie3.simona.model.participant.load.profile -import java.time.ZonedDateTime - import edu.ie3.util.TimeUtil -// needs to be imported for max function +import java.time.ZonedDateTime import scala.math.Ordering.Double.IeeeOrdering /** Stores a slice of load profile data, that comprises a whole day (96 quarter diff --git a/src/main/scala/edu/ie3/simona/model/participant/load/random/RandomLoadParamStore.scala b/src/main/scala/edu/ie3/simona/model/participant/load/random/RandomLoadParamStore.scala index 36635ae940..be40544b3e 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/load/random/RandomLoadParamStore.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/load/random/RandomLoadParamStore.scala @@ -6,14 +6,14 @@ package edu.ie3.simona.model.participant.load.random -import java.io.{InputStreamReader, Reader} -import java.time.{Duration, ZonedDateTime} import com.typesafe.scalalogging.LazyLogging import edu.ie3.simona.exceptions.FileIOException import edu.ie3.simona.model.participant.load.DayType import edu.ie3.simona.model.participant.load.random.RandomLoadParamStore.initializeDayTypeValues import org.apache.commons.csv.{CSVFormat, CSVRecord} +import java.io.{InputStreamReader, Reader} +import java.time.{Duration, ZonedDateTime} import scala.jdk.CollectionConverters._ /** Storage for a collection of random load parameters. diff --git a/src/main/scala/edu/ie3/simona/model/participant/load/random/TypeDayParameters.scala b/src/main/scala/edu/ie3/simona/model/participant/load/random/TypeDayParameters.scala index 36360ff600..51ce6381b6 100644 --- a/src/main/scala/edu/ie3/simona/model/participant/load/random/TypeDayParameters.scala +++ b/src/main/scala/edu/ie3/simona/model/participant/load/random/TypeDayParameters.scala @@ -6,11 +6,10 @@ package edu.ie3.simona.model.participant.load.random -import java.time.ZonedDateTime - -import edu.ie3.simona.model.participant.load.DayType import edu.ie3.util.TimeUtil +import java.time.ZonedDateTime + /** Stores a slice of random load parameters, that comprises a whole day (96 * quarter hours). The data describes a typical day, that can unequivocally be * identified by it's [[DayType]]. diff --git a/src/main/scala/edu/ie3/simona/model/thermal/ThermalSink.scala b/src/main/scala/edu/ie3/simona/model/thermal/ThermalSink.scala index 97661b0201..70aedc8af9 100644 --- a/src/main/scala/edu/ie3/simona/model/thermal/ThermalSink.scala +++ b/src/main/scala/edu/ie3/simona/model/thermal/ThermalSink.scala @@ -6,12 +6,12 @@ package edu.ie3.simona.model.thermal -import java.util.UUID - import edu.ie3.datamodel.models.OperationTime import edu.ie3.datamodel.models.input.OperatorInput import edu.ie3.datamodel.models.input.thermal.ThermalBusInput +import java.util.UUID + /** Thermal sink model. * * @param uuid diff --git a/src/main/scala/edu/ie3/simona/model/thermal/ThermalStorage.scala b/src/main/scala/edu/ie3/simona/model/thermal/ThermalStorage.scala index 03460fee5e..af3bdd4ac3 100644 --- a/src/main/scala/edu/ie3/simona/model/thermal/ThermalStorage.scala +++ b/src/main/scala/edu/ie3/simona/model/thermal/ThermalStorage.scala @@ -10,8 +10,8 @@ import edu.ie3.datamodel.models.OperationTime import edu.ie3.datamodel.models.input.OperatorInput import edu.ie3.datamodel.models.input.thermal.ThermalBusInput import edu.ie3.simona.model.thermal.ThermalStorage.ThermalStorageState -import squants.{Energy, Power, Seconds} import squants.energy.KilowattHours +import squants.{Energy, Power, Seconds} import java.util.UUID diff --git a/src/main/scala/edu/ie3/simona/ontology/GridAgentHierarchy.scala b/src/main/scala/edu/ie3/simona/ontology/GridAgentHierarchy.scala index 5bcb5e917d..5265e5beca 100644 --- a/src/main/scala/edu/ie3/simona/ontology/GridAgentHierarchy.scala +++ b/src/main/scala/edu/ie3/simona/ontology/GridAgentHierarchy.scala @@ -15,10 +15,10 @@ sealed trait GridAgentHierarchy */ object GridAgentHierarchy { - final case object Superior extends GridAgentHierarchy + case object Superior extends GridAgentHierarchy - final case object Centrum extends GridAgentHierarchy + case object Centrum extends GridAgentHierarchy - final case object Inferior extends GridAgentHierarchy + case object Inferior extends GridAgentHierarchy } diff --git a/src/main/scala/edu/ie3/simona/ontology/messages/PowerMessage.scala b/src/main/scala/edu/ie3/simona/ontology/messages/PowerMessage.scala index 3d10fe3f5a..78ca26ed0a 100644 --- a/src/main/scala/edu/ie3/simona/ontology/messages/PowerMessage.scala +++ b/src/main/scala/edu/ie3/simona/ontology/messages/PowerMessage.scala @@ -112,6 +112,6 @@ object PowerMessage { /** Indicate that the power flow calculation failed, as a reply to a * [[RequestGridPowerMessage]]. */ - final case object FailedPowerFlow extends PowerResponseMessage + case object FailedPowerFlow extends PowerResponseMessage } diff --git a/src/main/scala/edu/ie3/simona/ontology/messages/SchedulerMessage.scala b/src/main/scala/edu/ie3/simona/ontology/messages/SchedulerMessage.scala index 02c1918fc1..e50ae00116 100644 --- a/src/main/scala/edu/ie3/simona/ontology/messages/SchedulerMessage.scala +++ b/src/main/scala/edu/ie3/simona/ontology/messages/SchedulerMessage.scala @@ -6,9 +6,9 @@ package edu.ie3.simona.ontology.messages -import org.apache.pekko.actor.typed.ActorRef import edu.ie3.simona.scheduler.ScheduleLock.ScheduleKey import edu.ie3.simona.scheduler.{Scheduler, TimeAdvancer} +import org.apache.pekko.actor.typed.ActorRef trait SchedulerMessage extends Scheduler.Incoming with TimeAdvancer.Incoming diff --git a/src/main/scala/edu/ie3/simona/ontology/messages/VoltageMessage.scala b/src/main/scala/edu/ie3/simona/ontology/messages/VoltageMessage.scala index eea6675941..2c44c52d65 100644 --- a/src/main/scala/edu/ie3/simona/ontology/messages/VoltageMessage.scala +++ b/src/main/scala/edu/ie3/simona/ontology/messages/VoltageMessage.scala @@ -7,9 +7,9 @@ package edu.ie3.simona.ontology.messages import edu.ie3.simona.ontology.messages.VoltageMessage.ProvideSlackVoltageMessage.ExchangeVoltage +import squants.electro.ElectricPotential import java.util.UUID -import squants.electro.ElectricPotential sealed trait VoltageMessage diff --git a/src/main/scala/edu/ie3/simona/ontology/messages/services/ServiceMessage.scala b/src/main/scala/edu/ie3/simona/ontology/messages/services/ServiceMessage.scala index 33946b669f..2841827a24 100644 --- a/src/main/scala/edu/ie3/simona/ontology/messages/services/ServiceMessage.scala +++ b/src/main/scala/edu/ie3/simona/ontology/messages/services/ServiceMessage.scala @@ -6,11 +6,11 @@ package edu.ie3.simona.ontology.messages.services +import edu.ie3.simona.agent.participant.data.Data +import edu.ie3.simona.scheduler.ScheduleLock.ScheduleKey import org.apache.pekko.actor.ActorRef import java.util.UUID -import edu.ie3.simona.agent.participant.data.Data -import edu.ie3.simona.scheduler.ScheduleLock.ScheduleKey /** Collections of all messages, that are send to and from the different * services diff --git a/src/main/scala/edu/ie3/simona/scheduler/RuntimeNotifier.scala b/src/main/scala/edu/ie3/simona/scheduler/RuntimeNotifier.scala index 844021c530..5404db19ac 100644 --- a/src/main/scala/edu/ie3/simona/scheduler/RuntimeNotifier.scala +++ b/src/main/scala/edu/ie3/simona/scheduler/RuntimeNotifier.scala @@ -6,11 +6,11 @@ package edu.ie3.simona.scheduler -import org.apache.pekko.actor.typed.ActorRef import edu.ie3.simona.event.RuntimeEvent import edu.ie3.simona.event.RuntimeEvent._ import edu.ie3.simona.scheduler.RuntimeNotifier._ import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.typed.ActorRef /** Determines runtime events at different stages of the simulation and notifies * listeners diff --git a/src/main/scala/edu/ie3/simona/scheduler/ScheduleLock.scala b/src/main/scala/edu/ie3/simona/scheduler/ScheduleLock.scala index 803d223987..62d58ca0d1 100644 --- a/src/main/scala/edu/ie3/simona/scheduler/ScheduleLock.scala +++ b/src/main/scala/edu/ie3/simona/scheduler/ScheduleLock.scala @@ -6,14 +6,14 @@ package edu.ie3.simona.scheduler -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorContextOps -import org.apache.pekko.actor.typed.scaladsl.{ActorContext, Behaviors} -import org.apache.pekko.actor.typed.{ActorRef, Behavior, Scheduler} import edu.ie3.simona.ontology.messages.SchedulerMessage.{ Completion, ScheduleActivation, } import edu.ie3.simona.ontology.messages.{Activation, SchedulerMessage} +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorContextOps +import org.apache.pekko.actor.typed.scaladsl.{ActorContext, Behaviors} +import org.apache.pekko.actor.typed.{ActorRef, Behavior} import java.util.UUID @@ -29,7 +29,7 @@ object ScheduleLock { private final case class Init(adapter: ActorRef[Activation]) extends LockMsg - private final case object LockActivation extends LockMsg + private case object LockActivation extends LockMsg /** @param key * the key that unlocks (part of) the lock diff --git a/src/main/scala/edu/ie3/simona/scheduler/Scheduler.scala b/src/main/scala/edu/ie3/simona/scheduler/Scheduler.scala index 1c5f37ad2f..6c98d55987 100644 --- a/src/main/scala/edu/ie3/simona/scheduler/Scheduler.scala +++ b/src/main/scala/edu/ie3/simona/scheduler/Scheduler.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.scheduler -import org.apache.pekko.actor.typed.scaladsl.Behaviors -import org.apache.pekko.actor.typed.{ActorRef, Behavior} import edu.ie3.simona.actor.ActorUtil.stopOnError import edu.ie3.simona.ontology.messages.SchedulerMessage.{ Completion, @@ -20,6 +18,8 @@ import edu.ie3.simona.scheduler.core.Core.{ InactiveCore, } import edu.ie3.simona.scheduler.core.RegularSchedulerCore +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ActorRef, Behavior} /** Scheduler that activates actors at specific ticks and keeps them * synchronized by waiting for the completions of all activations. Can be diff --git a/src/main/scala/edu/ie3/simona/scheduler/TimeAdvancer.scala b/src/main/scala/edu/ie3/simona/scheduler/TimeAdvancer.scala index 63aac6d223..edd55fb68b 100644 --- a/src/main/scala/edu/ie3/simona/scheduler/TimeAdvancer.scala +++ b/src/main/scala/edu/ie3/simona/scheduler/TimeAdvancer.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.scheduler -import org.apache.pekko.actor.typed.scaladsl.{ActorContext, Behaviors} -import org.apache.pekko.actor.typed.{ActorRef, Behavior} import edu.ie3.simona.actor.ActorUtil.stopOnError import edu.ie3.simona.event.RuntimeEvent import edu.ie3.simona.ontology.messages.Activation @@ -17,6 +15,8 @@ import edu.ie3.simona.ontology.messages.SchedulerMessage.{ } import edu.ie3.simona.sim.SimMessage.{SimulationFailure, SimulationSuccessful} import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.typed.scaladsl.{ActorContext, Behaviors} +import org.apache.pekko.actor.typed.{ActorRef, Behavior} /** Unit that is in control of time advancement within the simulation. * Represents the root entity of any scheduler hierarchy. diff --git a/src/main/scala/edu/ie3/simona/service/SimonaService.scala b/src/main/scala/edu/ie3/simona/service/SimonaService.scala index 1b41b30400..fa2b67c932 100644 --- a/src/main/scala/edu/ie3/simona/service/SimonaService.scala +++ b/src/main/scala/edu/ie3/simona/service/SimonaService.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.service -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{Actor, ActorContext, ActorRef, Stash} import edu.ie3.simona.logging.SimonaActorLogging import edu.ie3.simona.ontology.messages.Activation import edu.ie3.simona.ontology.messages.SchedulerMessage.{ @@ -23,6 +21,8 @@ import edu.ie3.simona.service.ServiceStateData.{ } import edu.ie3.simona.service.SimonaService.Create import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{Actor, ActorContext, ActorRef, Stash} import scala.util.{Failure, Success, Try} @@ -100,8 +100,8 @@ abstract class SimonaService[ // initialize service trigger with invalid data log.error( "Error during service initialization." + - s"\nReceivedData: {}" + - s"\nException: {}", + "\nReceivedData: {}" + + "\nException: {}", initializeStateData, exception, ) diff --git a/src/main/scala/edu/ie3/simona/service/ev/ExtEvDataService.scala b/src/main/scala/edu/ie3/simona/service/ev/ExtEvDataService.scala index c827cb52fb..ad7c792a33 100644 --- a/src/main/scala/edu/ie3/simona/service/ev/ExtEvDataService.scala +++ b/src/main/scala/edu/ie3/simona/service/ev/ExtEvDataService.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.service.ev -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorContext, ActorRef, Props} import edu.ie3.simona.api.data.ev.ExtEvData import edu.ie3.simona.api.data.ev.model.EvModel import edu.ie3.simona.api.data.ev.ontology._ @@ -29,6 +27,8 @@ import edu.ie3.simona.service.ev.ExtEvDataService.{ } import edu.ie3.simona.service.{ExtDataSupport, ServiceStateData, SimonaService} import edu.ie3.simona.util.ReceiveDataMap +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorContext, ActorRef, Props} import java.util.UUID import scala.jdk.CollectionConverters._ diff --git a/src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceProxy.scala b/src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceProxy.scala index 688ea5c5c3..34a3983af7 100644 --- a/src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceProxy.scala +++ b/src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceProxy.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.service.primary -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{Actor, ActorRef, PoisonPill, Props} import edu.ie3.datamodel.io.connectors.SqlConnector import edu.ie3.datamodel.io.csv.CsvIndividualTimeSeriesMetaInformation import edu.ie3.datamodel.io.naming.timeseries.IndividualTimeSeriesMetaInformation @@ -47,7 +45,6 @@ import edu.ie3.simona.ontology.messages.services.ServiceMessage.{ WorkerRegistrationMessage, } import edu.ie3.simona.scheduler.ScheduleLock -import edu.ie3.simona.service.{ServiceStateData, SimonaService} import edu.ie3.simona.service.ServiceStateData.InitializeServiceStateData import edu.ie3.simona.service.primary.PrimaryServiceProxy.{ InitPrimaryServiceProxyStateData, @@ -59,7 +56,10 @@ import edu.ie3.simona.service.primary.PrimaryServiceWorker.{ InitPrimaryServiceStateData, SqlInitPrimaryServiceStateData, } +import edu.ie3.simona.service.{ServiceStateData, SimonaService} import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{Actor, ActorRef, PoisonPill, Props} import java.nio.file.Paths import java.text.SimpleDateFormat @@ -257,7 +257,7 @@ case class PrimaryServiceProxy( ) case None => log.debug( - s"There is no time series apparent for the model with uuid '{}'.", + "There is no time series apparent for the model with uuid '{}'.", modelUuid, ) sender() ! RegistrationFailedMessage(self) @@ -310,7 +310,7 @@ case class PrimaryServiceProxy( case Failure(exception) => log.warning( s"A failure occurred during spin-off of a primary source for time series '$timeSeriesUuid'. " + - s"Will inform the requesting actor, that registration is not possible.", + "Will inform the requesting actor, that registration is not possible.", exception, ) requestingActor ! RegistrationFailedMessage(self) @@ -583,7 +583,7 @@ object PrimaryServiceProxy { ) else if (sourceConfigs.isEmpty) throw new InvalidConfigParameterException( - s"No time series source type defined. Please define exactly one type!" + + "No time series source type defined. Please define exactly one type!" + s"\nAvailable types:\n\t${supportedSources.mkString("\n\t")}" ) else { diff --git a/src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceWorker.scala b/src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceWorker.scala index 7e5abcd6f9..76088fd6bb 100644 --- a/src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceWorker.scala +++ b/src/main/scala/edu/ie3/simona/service/primary/PrimaryServiceWorker.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.service.primary -import org.apache.pekko.actor.{ActorContext, ActorRef, Props} import edu.ie3.datamodel.io.connectors.SqlConnector import edu.ie3.datamodel.io.factory.timeseries.TimeBasedSimpleValueFactory import edu.ie3.datamodel.io.naming.timeseries.ColumnScheme @@ -34,6 +33,7 @@ import edu.ie3.simona.service.primary.PrimaryServiceWorker.{ import edu.ie3.simona.service.{ServiceStateData, SimonaService} import edu.ie3.simona.util.TickUtil.{RichZonedDateTime, TickLong} import edu.ie3.util.scala.collection.immutable.SortedDistinctSeq +import org.apache.pekko.actor.{ActorContext, ActorRef, Props} import java.nio.file.Path import java.time.ZonedDateTime @@ -213,7 +213,7 @@ final case class PrimaryServiceWorker[V <: Value]( case None => /* There is no data available in the source. */ log.warning( - s"I expected to get data for tick '{}' ({}), but data is not available", + "I expected to get data for tick '{}' ({}), but data is not available", tick, wallClockTime, ) diff --git a/src/main/scala/edu/ie3/simona/service/weather/SampleWeatherSource.scala b/src/main/scala/edu/ie3/simona/service/weather/SampleWeatherSource.scala index b4dfa209d4..e63a89477a 100644 --- a/src/main/scala/edu/ie3/simona/service/weather/SampleWeatherSource.scala +++ b/src/main/scala/edu/ie3/simona/service/weather/SampleWeatherSource.scala @@ -14,12 +14,12 @@ import edu.ie3.simona.util.TickUtil._ import edu.ie3.util.geo.CoordinateDistance import edu.ie3.util.scala.quantities.WattsPerSquareMeter import org.locationtech.jts.geom.Point -import tech.units.indriya.ComparableQuantity -import tech.units.indriya.quantity.Quantities -import tech.units.indriya.unit.Units import squants.Kelvin import squants.motion.MetersPerSecond import squants.thermal.Celsius +import tech.units.indriya.ComparableQuantity +import tech.units.indriya.quantity.Quantities +import tech.units.indriya.unit.Units import java.time.ZonedDateTime import java.time.temporal.ChronoField.{HOUR_OF_DAY, MONTH_OF_YEAR, YEAR} diff --git a/src/main/scala/edu/ie3/simona/service/weather/WeatherService.scala b/src/main/scala/edu/ie3/simona/service/weather/WeatherService.scala index 7543dc74c8..d4798bb82f 100644 --- a/src/main/scala/edu/ie3/simona/service/weather/WeatherService.scala +++ b/src/main/scala/edu/ie3/simona/service/weather/WeatherService.scala @@ -6,9 +6,8 @@ package edu.ie3.simona.service.weather -import org.apache.pekko.actor.{ActorContext, ActorRef, Props} -import edu.ie3.simona.exceptions.InitializationException import edu.ie3.simona.config.SimonaConfig +import edu.ie3.simona.exceptions.InitializationException import edu.ie3.simona.exceptions.WeatherServiceException.InvalidRegistrationRequestException import edu.ie3.simona.ontology.messages.services.ServiceMessage.RegistrationResponseMessage.{ RegistrationFailedMessage, @@ -16,11 +15,11 @@ import edu.ie3.simona.ontology.messages.services.ServiceMessage.RegistrationResp } import edu.ie3.simona.ontology.messages.services.ServiceMessage.ServiceRegistrationMessage import edu.ie3.simona.ontology.messages.services.WeatherMessage._ -import edu.ie3.simona.service.SimonaService import edu.ie3.simona.service.ServiceStateData.{ InitializeServiceStateData, ServiceActivationBaseStateData, } +import edu.ie3.simona.service.SimonaService import edu.ie3.simona.service.weather.WeatherService.{ InitWeatherServiceStateData, WeatherInitializedStateData, @@ -32,6 +31,7 @@ import edu.ie3.simona.service.weather.WeatherSource.{ import edu.ie3.simona.util.SimonaConstants import edu.ie3.simona.util.TickUtil.RichZonedDateTime import edu.ie3.util.scala.collection.immutable.SortedDistinctSeq +import org.apache.pekko.actor.{ActorContext, ActorRef, Props} import java.time.ZonedDateTime import scala.util.{Failure, Success, Try} diff --git a/src/main/scala/edu/ie3/simona/service/weather/WeatherSource.scala b/src/main/scala/edu/ie3/simona/service/weather/WeatherSource.scala index b996d5a475..2238465b8f 100644 --- a/src/main/scala/edu/ie3/simona/service/weather/WeatherSource.scala +++ b/src/main/scala/edu/ie3/simona/service/weather/WeatherSource.scala @@ -413,14 +413,14 @@ object WeatherSource { case coordinateSource => // cannot use sample weather source with other combination of weather source than sample weather source throw new InvalidConfigParameterException( - s"Invalid coordinate source " + + "Invalid coordinate source " + s"'${coordinateSource.getClass.getSimpleName}' defined for SampleWeatherSource. " + "Please adapt the configuration to use sample coordinate source for weather data!" ) } case None | Some(_) => throw new InvalidConfigParameterException( - s"No weather source defined! This is currently not supported! Please provide the config parameters for one " + + "No weather source defined! This is currently not supported! Please provide the config parameters for one " + s"of the following weather sources:\n\t${supportedWeatherSources.mkString("\n\t")}" ) } @@ -501,7 +501,7 @@ object WeatherSource { () => SampleWeatherSource.SampleIdCoordinateSource case None | Some(_) => throw new InvalidConfigParameterException( - s"No coordinate source defined! This is currently not supported! Please provide the config parameters for one " + + "No coordinate source defined! This is currently not supported! Please provide the config parameters for one " + s"of the following coordinate sources:\n\t${supportedCoordinateSources.mkString("\n\t")}" ) } diff --git a/src/main/scala/edu/ie3/simona/service/weather/WeatherSourceWrapper.scala b/src/main/scala/edu/ie3/simona/service/weather/WeatherSourceWrapper.scala index dac52742ed..9c8461537d 100644 --- a/src/main/scala/edu/ie3/simona/service/weather/WeatherSourceWrapper.scala +++ b/src/main/scala/edu/ie3/simona/service/weather/WeatherSourceWrapper.scala @@ -49,7 +49,6 @@ import tech.units.indriya.ComparableQuantity import java.nio.file.Path import java.time.ZonedDateTime import javax.measure.quantity.Length - import scala.jdk.CollectionConverters.{IterableHasAsJava, MapHasAsScala} import scala.jdk.OptionConverters.RichOptional import scala.util.{Failure, Success, Try} diff --git a/src/main/scala/edu/ie3/simona/sim/SimonaSim.scala b/src/main/scala/edu/ie3/simona/sim/SimonaSim.scala index 5200e39371..5d02a6fbca 100644 --- a/src/main/scala/edu/ie3/simona/sim/SimonaSim.scala +++ b/src/main/scala/edu/ie3/simona/sim/SimonaSim.scala @@ -6,17 +6,6 @@ package edu.ie3.simona.sim -import org.apache.pekko.actor.typed.scaladsl.adapter.TypedActorRefOps -import org.apache.pekko.actor.SupervisorStrategy.Stop -import org.apache.pekko.actor.{ - Actor, - ActorRef, - AllForOneStrategy, - Props, - Stash, - SupervisorStrategy, - Terminated, -} import com.typesafe.scalalogging.LazyLogging import edu.ie3.simona.agent.EnvironmentRefs import edu.ie3.simona.event.RuntimeEvent @@ -34,6 +23,17 @@ import edu.ie3.simona.sim.SimonaSim.{ SimonaSimStateData, } import edu.ie3.simona.sim.setup.{ExtSimSetupData, SimonaSetup} +import org.apache.pekko.actor.SupervisorStrategy.Stop +import org.apache.pekko.actor.typed.scaladsl.adapter.TypedActorRefOps +import org.apache.pekko.actor.{ + Actor, + ActorRef, + AllForOneStrategy, + Props, + Stash, + SupervisorStrategy, + Terminated, +} import scala.concurrent.duration.DurationInt import scala.language.postfixOps diff --git a/src/main/scala/edu/ie3/simona/sim/setup/ExtSimSetupData.scala b/src/main/scala/edu/ie3/simona/sim/setup/ExtSimSetupData.scala index d5b34606aa..e3b1a3f517 100644 --- a/src/main/scala/edu/ie3/simona/sim/setup/ExtSimSetupData.scala +++ b/src/main/scala/edu/ie3/simona/sim/setup/ExtSimSetupData.scala @@ -6,8 +6,8 @@ package edu.ie3.simona.sim.setup -import org.apache.pekko.actor.ActorRef import edu.ie3.simona.service.ev.ExtEvDataService +import org.apache.pekko.actor.ActorRef final case class ExtSimSetupData( extSimAdapters: Iterable[ActorRef], diff --git a/src/main/scala/edu/ie3/simona/sim/setup/SimonaSetup.scala b/src/main/scala/edu/ie3/simona/sim/setup/SimonaSetup.scala index e94f782e4c..005c98db96 100644 --- a/src/main/scala/edu/ie3/simona/sim/setup/SimonaSetup.scala +++ b/src/main/scala/edu/ie3/simona/sim/setup/SimonaSetup.scala @@ -6,12 +6,12 @@ package edu.ie3.simona.sim.setup -import org.apache.pekko.actor.{ActorContext, ActorRef, ActorSystem} import edu.ie3.datamodel.graph.SubGridGate import edu.ie3.datamodel.models.input.connector.Transformer3WInput import edu.ie3.simona.agent.EnvironmentRefs import edu.ie3.simona.event.RuntimeEvent import edu.ie3.simona.scheduler.TimeAdvancer +import org.apache.pekko.actor.{ActorContext, ActorRef, ActorSystem} /** Trait that can be used to setup a customized simona simulation by providing * implementations for all setup information required by a diff --git a/src/main/scala/edu/ie3/simona/sim/setup/SimonaStandaloneSetup.scala b/src/main/scala/edu/ie3/simona/sim/setup/SimonaStandaloneSetup.scala index cf9e78689f..6d6729ee0a 100644 --- a/src/main/scala/edu/ie3/simona/sim/setup/SimonaStandaloneSetup.scala +++ b/src/main/scala/edu/ie3/simona/sim/setup/SimonaStandaloneSetup.scala @@ -6,12 +6,6 @@ package edu.ie3.simona.sim.setup -import org.apache.pekko.actor.typed.scaladsl.adapter.{ - ClassicActorContextOps, - ClassicActorRefOps, - TypedActorRefOps, -} -import org.apache.pekko.actor.{ActorContext, ActorRef, ActorSystem} import com.typesafe.config.Config import com.typesafe.scalalogging.LazyLogging import edu.ie3.datamodel.graph.SubGridTopologyGraph @@ -42,6 +36,12 @@ import edu.ie3.simona.util.ResultFileHierarchy import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.simona.util.TickUtil.RichZonedDateTime import edu.ie3.util.TimeUtil +import org.apache.pekko.actor.typed.scaladsl.adapter.{ + ClassicActorContextOps, + ClassicActorRefOps, + TypedActorRefOps, +} +import org.apache.pekko.actor.{ActorContext, ActorRef, ActorSystem} import java.util.concurrent.LinkedBlockingQueue import scala.jdk.CollectionConverters._ diff --git a/src/main/scala/edu/ie3/simona/util/ConfigUtil.scala b/src/main/scala/edu/ie3/simona/util/ConfigUtil.scala index 10acb7ddaf..5b58e2d86a 100644 --- a/src/main/scala/edu/ie3/simona/util/ConfigUtil.scala +++ b/src/main/scala/edu/ie3/simona/util/ConfigUtil.scala @@ -20,9 +20,8 @@ import edu.ie3.datamodel.models.result.connector.{ } import edu.ie3.datamodel.models.result.{NodeResult, ResultEntity} import edu.ie3.simona.config.SimonaConfig -import edu.ie3.simona.config.SimonaConfig.Simona.Input.Weather.Datasource.SqlParams import edu.ie3.simona.config.SimonaConfig._ -import edu.ie3.simona.event.notifier.{Notifier, NotifierConfig} +import edu.ie3.simona.event.notifier.NotifierConfig import edu.ie3.simona.exceptions.InvalidConfigParameterException import org.apache.kafka.clients.admin.AdminClient import org.apache.kafka.common.KafkaException @@ -500,7 +499,7 @@ object ConfigUtil { ) case Failure(other) => throw new InvalidConfigParameterException( - s"Checking kafka config failed with unexpected exception.", + "Checking kafka config failed with unexpected exception.", other, ) case Success(missingTopics) if missingTopics.nonEmpty => diff --git a/src/main/scala/edu/ie3/simona/util/ResultFileHierarchy.scala b/src/main/scala/edu/ie3/simona/util/ResultFileHierarchy.scala index 171c5835a2..902f7caffa 100644 --- a/src/main/scala/edu/ie3/simona/util/ResultFileHierarchy.scala +++ b/src/main/scala/edu/ie3/simona/util/ResultFileHierarchy.scala @@ -6,10 +6,7 @@ package edu.ie3.simona.util -import java.io.{BufferedWriter, File, FileWriter} -import java.nio.file.{Files, Paths} -import java.text.SimpleDateFormat -import com.typesafe.config.{ConfigRenderOptions, Config => TypesafeConfig} +import com.typesafe.config.{Config => TypesafeConfig, ConfigRenderOptions} import com.typesafe.scalalogging.LazyLogging import edu.ie3.datamodel.io.naming.{ EntityPersistenceNamingStrategy, @@ -24,6 +21,9 @@ import edu.ie3.simona.util.ResultFileHierarchy.ResultEntityPathConfig import edu.ie3.util.io.FileIOUtils import org.apache.commons.io.FilenameUtils._ +import java.io.{BufferedWriter, File, FileWriter} +import java.nio.file.{Files, Paths} +import java.text.SimpleDateFormat import scala.jdk.OptionConverters.RichOptional /** Represents the output directory where the results will be materialized. If @@ -275,7 +275,7 @@ object ResultFileHierarchy extends LazyLogging { // files inside the runOutputDir -> fail throw new FileHierarchyException( s"The runOutputDir ${outputFileHierarchy.runOutputDir} already exists and is NOT empty! " + - s"Please either delete or empty the directory." + "Please either delete or empty the directory." ) } diff --git a/src/main/scala/edu/ie3/util/scala/io/GraphicDataCleaner.scala b/src/main/scala/edu/ie3/util/scala/io/GraphicDataCleaner.scala index 0e1515df69..6d44b34211 100644 --- a/src/main/scala/edu/ie3/util/scala/io/GraphicDataCleaner.scala +++ b/src/main/scala/edu/ie3/util/scala/io/GraphicDataCleaner.scala @@ -8,8 +8,8 @@ package edu.ie3.util.scala.io import edu.ie3.datamodel.io.naming.FileNamingStrategy import edu.ie3.datamodel.io.sink.CsvFileSink -import edu.ie3.datamodel.io.source.{GraphicSource, RawGridSource, TypeSource} import edu.ie3.datamodel.io.source.csv.CsvDataSource +import edu.ie3.datamodel.io.source.{GraphicSource, RawGridSource, TypeSource} import java.nio.file.Paths diff --git a/src/main/scala/edu/ie3/util/scala/io/ScalaReflectionSerde.scala b/src/main/scala/edu/ie3/util/scala/io/ScalaReflectionSerde.scala index f7d6707254..543bdcdc90 100644 --- a/src/main/scala/edu/ie3/util/scala/io/ScalaReflectionSerde.scala +++ b/src/main/scala/edu/ie3/util/scala/io/ScalaReflectionSerde.scala @@ -37,7 +37,7 @@ object ScalaReflectionSerde { override def close(): Unit = inner.close() } - def reflectionDeserializer4S[T: RecordFormat]: Deserializer[T] = + def reflectionDeserializer4S[T >: Null: RecordFormat]: Deserializer[T] = new Deserializer[T] { val inner = new GenericAvroDeserializer() @@ -52,7 +52,7 @@ object ScalaReflectionSerde { .map(data => implicitly[RecordFormat[T]].from(inner.deserialize(topic, data)) ) - .getOrElse(null.asInstanceOf[T]) + .orNull override def close(): Unit = inner.close() } diff --git a/src/main/scala/edu/ie3/util/scala/quantities/DefaultQuantities.scala b/src/main/scala/edu/ie3/util/scala/quantities/DefaultQuantities.scala index 8ac476e888..68c66a2c93 100644 --- a/src/main/scala/edu/ie3/util/scala/quantities/DefaultQuantities.scala +++ b/src/main/scala/edu/ie3/util/scala/quantities/DefaultQuantities.scala @@ -6,8 +6,8 @@ package edu.ie3.util.scala.quantities -import squants.{Each, Energy, Power, Dimensionless} import squants.energy.{KilowattHours, Kilowatts, Megawatts} +import squants.{Dimensionless, Each, Energy, Power} object DefaultQuantities { diff --git a/src/main/scala/edu/ie3/util/scala/quantities/QuantityUtil.scala b/src/main/scala/edu/ie3/util/scala/quantities/QuantityUtil.scala index 4ca6d188fb..67ceec5bd7 100644 --- a/src/main/scala/edu/ie3/util/scala/quantities/QuantityUtil.scala +++ b/src/main/scala/edu/ie3/util/scala/quantities/QuantityUtil.scala @@ -7,7 +7,6 @@ package edu.ie3.util.scala.quantities import edu.ie3.simona.exceptions.QuantityException -import edu.ie3.util.quantities.{QuantityUtil => PSQuantityUtil} import squants.time.{Hours, TimeDerivative, TimeIntegral} import squants.{Quantity, Seconds, UnitOfMeasure} import tech.units.indriya.ComparableQuantity diff --git a/src/main/scala/edu/ie3/util/scala/quantities/ReactivePower.scala b/src/main/scala/edu/ie3/util/scala/quantities/ReactivePower.scala index aaddb36edf..ebaf0f702a 100644 --- a/src/main/scala/edu/ie3/util/scala/quantities/ReactivePower.scala +++ b/src/main/scala/edu/ie3/util/scala/quantities/ReactivePower.scala @@ -6,9 +6,9 @@ package edu.ie3.util.scala.quantities +import squants._ import squants.energy._ import squants.time.{Hours, Time, TimeIntegral} -import squants._ import scala.util.Try diff --git a/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmCenGridSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmCenGridSpec.scala index ace38eb295..81ec7904f8 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmCenGridSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmCenGridSpec.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.testkit.TestProbe import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.container.ThermalGrid import edu.ie3.simona.agent.EnvironmentRefs @@ -35,11 +32,12 @@ import edu.ie3.simona.test.common.{ } import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.scala.quantities.Megavars +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.testkit.TestProbe import squants.electro.Kilovolts import squants.energy.Megawatts -import scala.language.postfixOps - /** Test to ensure the functions that a [[GridAgent]] in center position should * be able to do if the DBFSAlgorithm is used. The scheduler, the weather * service as well as the inferior and superior [[GridAgent]] s are simulated @@ -106,7 +104,7 @@ class DBFSAlgorithmCenGridSpec ) ) - s"initialize itself when it receives an init activation" in { + "initialize itself when it receives an init activation" in { // this subnet has 1 superior grid (ehv) and 3 inferior grids (mv). Map the gates to test probes accordingly val subGridGateToActorRef = hvSubGridGates.map { @@ -166,7 +164,7 @@ class DBFSAlgorithmCenGridSpec ) } - s"start the simulation when activation is sent" in { + "start the simulation when activation is sent" in { val firstSweepNo = 0 diff --git a/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmFailedPowerFlowSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmFailedPowerFlowSpec.scala index bd677049a2..b7ae519a4b 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmFailedPowerFlowSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmFailedPowerFlowSpec.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.testkit.{ImplicitSender, TestProbe} import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.container.ThermalGrid import edu.ie3.simona.agent.EnvironmentRefs @@ -37,6 +34,9 @@ import edu.ie3.simona.test.common.{ } import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.scala.quantities.Megavars +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.testkit.{ImplicitSender, TestProbe} import squants.electro.Kilovolts import squants.energy.Megawatts @@ -94,7 +94,7 @@ class DBFSAlgorithmFailedPowerFlowSpec ) ) - s"initialize itself when it receives an init activation" in { + "initialize itself when it receives an init activation" in { // this subnet has 1 superior grid (ehv) and 3 inferior grids (mv). Map the gates to test probes accordingly val subGridGateToActorRef = hvSubGridGatesPF.map { case gate if gate.getInferiorSubGrid == hvGridContainerPF.getSubnet => @@ -153,7 +153,7 @@ class DBFSAlgorithmFailedPowerFlowSpec ) } - s"start the simulation when an activation is sent is sent, handle failed power flow if it occurs" in { + "start the simulation when an activation is sent is sent, handle failed power flow if it occurs" in { val sweepNo = 0 // send the start grid simulation trigger diff --git a/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmParticipantSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmParticipantSpec.scala index c15e254661..145b7e26cc 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmParticipantSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmParticipantSpec.scala @@ -6,12 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.typed.scaladsl.adapter.{ - ClassicActorRefOps, - TypedActorRefOps, -} -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.{ImplicitSender, TestProbe} import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.graph.SubGridGate import edu.ie3.simona.agent.EnvironmentRefs @@ -38,11 +32,15 @@ import edu.ie3.simona.test.common.{ } import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.scala.quantities.Megavars +import org.apache.pekko.actor.typed.scaladsl.adapter.{ + ClassicActorRefOps, + TypedActorRefOps, +} +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.{ImplicitSender, TestProbe} import squants.electro.Kilovolts import squants.energy.Megawatts -import scala.language.postfixOps - class DBFSAlgorithmParticipantSpec extends TestKitWithShutdown( ActorSystem( @@ -89,7 +87,7 @@ class DBFSAlgorithmParticipantSpec ) ) - s"initialize itself when it receives an init activation" in { + "initialize itself when it receives an init activation" in { // this subnet has 1 superior grid (ehv) and 3 inferior grids (mv). Map the gates to test probes accordingly val subGridGateToActorRef: Map[SubGridGate, ActorRef] = @@ -178,7 +176,7 @@ class DBFSAlgorithmParticipantSpec } - s"check the request asset power message indirectly" in { + "check the request asset power message indirectly" in { val firstSweepNo = 0 diff --git a/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmSupGridSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmSupGridSpec.scala index a9dd723f8d..b7b8af6488 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmSupGridSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/DBFSAlgorithmSupGridSpec.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.{ImplicitSender, TestProbe} import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.graph.SubGridGate import edu.ie3.datamodel.models.input.container.ThermalGrid @@ -38,6 +35,9 @@ import edu.ie3.simona.test.common.{ } import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.scala.quantities.Megavars +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.{ImplicitSender, TestProbe} import squants.energy.Megawatts import java.util.UUID @@ -91,7 +91,7 @@ class DBFSAlgorithmSupGridSpec ) ) - s"initialize itself when it receives an init activation" in { + "initialize itself when it receives an init activation" in { val subnetGatesToActorRef: Map[SubGridGate, ActorRef] = ehvSubGridGates.map(gate => gate -> hvGrid.ref).toMap @@ -130,8 +130,8 @@ class DBFSAlgorithmSupGridSpec } - s"start the simulation, do 2 sweeps and should end afterwards when no deviation on nodal " + - s"power is recognized in the superior when an activation is sent is send" in { + "start the simulation, do 2 sweeps and should end afterwards when no deviation on nodal " + + "power is recognized in the superior when an activation is sent is send" in { for (sweepNo <- 0 to 1) { @@ -184,7 +184,7 @@ class DBFSAlgorithmSupGridSpec value.getvMag().getValue shouldBe 1 value.getvAng().getValue shouldBe 0 case None => - fail(s"Expected a result but got none.") + fail("Expected a result but got none.") } // due to the fact that the used grid does not contain anything besides the one ehv node @@ -209,8 +209,8 @@ class DBFSAlgorithmSupGridSpec } - s"start the simulation when an activation is sent is sent, do 5 sweeps and should end afterwards, if the " + - s"nodal power exchange converges not before the fifth sweep." in { + "start the simulation when an activation is sent is sent, do 5 sweeps and should end afterwards, if the " + + "nodal power exchange converges not before the fifth sweep." in { // configuration of the test val maxNumberOfTestSweeps = 4 @@ -303,7 +303,7 @@ class DBFSAlgorithmSupGridSpec value.getvMag().getValue shouldBe 1 value.getvAng().getValue shouldBe 0 case None => - fail(s"Expected a result but got none.") + fail("Expected a result but got none.") } // due to the fact that the used grid does not contain anything besides the one ehv node diff --git a/src/test/scala/edu/ie3/simona/agent/grid/DBFSMockGridAgents.scala b/src/test/scala/edu/ie3/simona/agent/grid/DBFSMockGridAgents.scala index 6a001d6e1b..a3b6252cc6 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/DBFSMockGridAgents.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/DBFSMockGridAgents.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.ActorRef -import org.apache.pekko.testkit.TestProbe import edu.ie3.simona.ontology.messages.PowerMessage.ProvideGridPowerMessage.ExchangePower import edu.ie3.simona.ontology.messages.PowerMessage.{ ProvideGridPowerMessage, @@ -20,6 +18,8 @@ import edu.ie3.simona.ontology.messages.VoltageMessage.{ } import edu.ie3.simona.test.common.UnitSpec import edu.ie3.util.scala.quantities.{Megavars, ReactivePower} +import org.apache.pekko.actor.ActorRef +import org.apache.pekko.testkit.TestProbe import squants.Power import squants.electro.Volts import squants.energy.Megawatts @@ -78,7 +78,7 @@ trait DBFSMockGridAgents extends UnitSpec { case None => fail( s"Expected ExchangeVoltage with node UUID ${expectedVoltage.nodeUuid} " + - s"was not included in ProvideSlackVoltageMessage." + "was not included in ProvideSlackVoltageMessage." ) } } @@ -127,7 +127,7 @@ trait DBFSMockGridAgents extends UnitSpec { case None => fail( s"Expected ExchangePower with node UUID ${expectedPower.nodeUuid} " + - s"was not included in ProvideGridPowerMessage." + "was not included in ProvideGridPowerMessage." ) } } diff --git a/src/test/scala/edu/ie3/simona/agent/grid/GridAgentDataHelperSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/GridAgentDataHelperSpec.scala index 3e2170cbdc..aa5ef8b463 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/GridAgentDataHelperSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/GridAgentDataHelperSpec.scala @@ -6,12 +6,13 @@ package edu.ie3.simona.agent.grid -import java.util.UUID import edu.ie3.datamodel.graph.SubGridGate import edu.ie3.simona.agent.grid.GridAgentDataHelperSpec.TestGridData import edu.ie3.simona.test.common.UnitSpec import edu.ie3.simona.test.common.model.grid.SubGridGateMokka +import java.util.UUID + object GridAgentDataHelperSpec { final case class TestGridData( diff --git a/src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup2WSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup2WSpec.scala index 3a5490b892..80b9fbafd1 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup2WSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup2WSpec.scala @@ -6,16 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.{ - Actor, - ActorIdentity, - ActorRef, - ActorSystem, - Identify, - Props, -} -import org.apache.pekko.testkit.ImplicitSender -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import com.typesafe.scalalogging.LazyLogging import edu.ie3.datamodel.models.result.ResultEntity @@ -26,6 +16,16 @@ import edu.ie3.simona.test.common.input.TransformerInputTestData import edu.ie3.simona.test.common.{ConfigTestData, TestKitWithShutdown} import edu.ie3.simona.util.ResultFileHierarchy import edu.ie3.simona.util.ResultFileHierarchy.ResultEntityPathConfig +import org.apache.pekko.actor.{ + Actor, + ActorIdentity, + ActorRef, + ActorSystem, + Identify, + Props, +} +import org.apache.pekko.testkit.ImplicitSender +import org.apache.pekko.util.Timeout import org.scalatest.wordspec.AnyWordSpecLike import java.util.concurrent.TimeUnit diff --git a/src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup3WSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup3WSpec.scala index e12209b4f2..1fed581e4c 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup3WSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/GridAgentSetup3WSpec.scala @@ -6,16 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.{ - Actor, - ActorIdentity, - ActorRef, - ActorSystem, - Identify, - Props, -} -import org.apache.pekko.testkit.ImplicitSender -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import com.typesafe.scalalogging.LazyLogging import edu.ie3.datamodel.models.result.ResultEntity @@ -29,6 +19,16 @@ import edu.ie3.simona.test.common.{ } import edu.ie3.simona.util.ResultFileHierarchy import edu.ie3.simona.util.ResultFileHierarchy.ResultEntityPathConfig +import org.apache.pekko.actor.{ + Actor, + ActorIdentity, + ActorRef, + ActorSystem, + Identify, + Props, +} +import org.apache.pekko.testkit.ImplicitSender +import org.apache.pekko.util.Timeout import org.scalatest.wordspec.AnyWordSpecLike import java.util.concurrent.TimeUnit diff --git a/src/test/scala/edu/ie3/simona/agent/grid/GridResultsSupportSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/GridResultsSupportSpec.scala index ce67a10c04..b681ad77bc 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/GridResultsSupportSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/GridResultsSupportSpec.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.event.{LoggingAdapter, NoLogging} import breeze.math.Complex import edu.ie3.datamodel.models.StandardUnits import edu.ie3.datamodel.models.input.connector.ConnectorPort @@ -43,6 +42,7 @@ import edu.ie3.util.quantities.PowerSystemUnits.{DEGREE_GEOM, PU} import edu.ie3.util.quantities.QuantityUtil import edu.ie3.util.scala.OperationInterval import edu.ie3.util.scala.quantities.{QuantityUtil => ScalaQuantityUtil} +import org.apache.pekko.event.{LoggingAdapter, NoLogging} import org.scalatest.prop.TableDrivenPropertyChecks import squants.Each import squants.electro.{Amperes, Volts} diff --git a/src/test/scala/edu/ie3/simona/agent/grid/PowerFlowSupportSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/PowerFlowSupportSpec.scala index 3be73dc240..a43bcac073 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/PowerFlowSupportSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/PowerFlowSupportSpec.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.agent.grid -import org.apache.pekko.actor.ActorRef -import org.apache.pekko.event.{LoggingAdapter, NoLogging} import edu.ie3.powerflow.model.PowerFlowResult.SuccessFullPowerFlowResult.ValidNewtonRaphsonPFResult import edu.ie3.simona.model.grid.GridModel import edu.ie3.simona.ontology.messages.PowerMessage.ProvideGridPowerMessage.ExchangePower @@ -16,6 +14,8 @@ import edu.ie3.simona.test.common.UnitSpec import edu.ie3.simona.test.common.model.grid.BasicGridWithSwitches import edu.ie3.util.quantities.QuantityUtils.RichQuantityDouble import edu.ie3.util.scala.quantities.Megavars +import org.apache.pekko.actor.ActorRef +import org.apache.pekko.event.{LoggingAdapter, NoLogging} import squants.electro.Kilovolts import squants.energy.Megawatts import tech.units.indriya.ComparableQuantity diff --git a/src/test/scala/edu/ie3/simona/agent/grid/ReceivedValuesStoreSpec.scala b/src/test/scala/edu/ie3/simona/agent/grid/ReceivedValuesStoreSpec.scala index 0902a476ce..143b0ef648 100644 --- a/src/test/scala/edu/ie3/simona/agent/grid/ReceivedValuesStoreSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/grid/ReceivedValuesStoreSpec.scala @@ -6,14 +6,14 @@ package edu.ie3.simona.agent.grid -import java.util.UUID - -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.{TestKit, TestProbe} import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.graph.SubGridGate -import edu.ie3.simona.test.common.{TestKitWithShutdown, UnitSpec} import edu.ie3.simona.test.common.model.grid.SubGridGateMokka +import edu.ie3.simona.test.common.{TestKitWithShutdown, UnitSpec} +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.TestProbe + +import java.util.UUID class ReceivedValuesStoreSpec extends TestKitWithShutdown( diff --git a/src/test/scala/edu/ie3/simona/agent/participant/FixedFeedInAgentModelCalculationSpec.scala b/src/test/scala/edu/ie3/simona/agent/participant/FixedFeedInAgentModelCalculationSpec.scala index bdda047856..8052ff1f99 100644 --- a/src/test/scala/edu/ie3/simona/agent/participant/FixedFeedInAgentModelCalculationSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/participant/FixedFeedInAgentModelCalculationSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.testkit.TestFSMRef -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.system.FixedFeedInInput import edu.ie3.datamodel.models.input.system.characteristic.QV @@ -44,6 +40,10 @@ import edu.ie3.simona.util.ConfigUtil import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.TimeUtil import edu.ie3.util.scala.quantities.{Megavars, ReactivePower, Vars} +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.testkit.TestFSMRef +import org.apache.pekko.util.Timeout import squants.Each import squants.energy.{Kilowatts, Megawatts, Watts} diff --git a/src/test/scala/edu/ie3/simona/agent/participant/LoadAgentFixedModelCalculationSpec.scala b/src/test/scala/edu/ie3/simona/agent/participant/LoadAgentFixedModelCalculationSpec.scala index df28adfa5f..7f37a7cefd 100644 --- a/src/test/scala/edu/ie3/simona/agent/participant/LoadAgentFixedModelCalculationSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/participant/LoadAgentFixedModelCalculationSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.testkit.TestFSMRef -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.system.LoadInput import edu.ie3.datamodel.models.input.system.characteristic.QV @@ -43,6 +39,10 @@ import edu.ie3.simona.test.common.model.participant.LoadTestData import edu.ie3.simona.util.ConfigUtil import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.scala.quantities.{Megavars, ReactivePower, Vars} +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.testkit.TestFSMRef +import org.apache.pekko.util.Timeout import org.scalatest.PrivateMethodTester import squants.Each import squants.energy.{Kilowatts, Megawatts, Watts} diff --git a/src/test/scala/edu/ie3/simona/agent/participant/LoadAgentProfileModelCalculationSpec.scala b/src/test/scala/edu/ie3/simona/agent/participant/LoadAgentProfileModelCalculationSpec.scala index 46df19190a..35190f441e 100644 --- a/src/test/scala/edu/ie3/simona/agent/participant/LoadAgentProfileModelCalculationSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/participant/LoadAgentProfileModelCalculationSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.testkit.TestFSMRef -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.system.LoadInput import edu.ie3.datamodel.models.input.system.characteristic.QV @@ -43,6 +39,10 @@ import edu.ie3.simona.test.common.model.participant.LoadTestData import edu.ie3.simona.util.ConfigUtil import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.scala.quantities.{Megavars, ReactivePower, Vars} +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.testkit.TestFSMRef +import org.apache.pekko.util.Timeout import org.scalatest.PrivateMethodTester import squants.Each import squants.energy.{Kilowatts, Megawatts, Watts} diff --git a/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentExternalSourceSpec.scala b/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentExternalSourceSpec.scala index 784fde78dd..abf711b743 100644 --- a/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentExternalSourceSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentExternalSourceSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.TestFSMRef -import org.apache.pekko.util.Timeout import breeze.numerics.{acos, tan} import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.NodeInput @@ -53,11 +49,15 @@ import edu.ie3.simona.test.common.DefaultTestData import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.quantities.PowerSystemUnits import edu.ie3.util.scala.quantities.{Kilovars, Megavars, ReactivePower, Vars} +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.TestFSMRef +import org.apache.pekko.util.Timeout import org.mockito.ArgumentMatchers.any import org.mockito.Mockito.when import org.scalatestplus.mockito.MockitoSugar -import squants.{Each, Power} import squants.energy.{Kilowatts, Megawatts, Watts} +import squants.{Each, Power} import tech.units.indriya.quantity.Quantities import java.util.UUID diff --git a/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentalsSpec.scala b/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentalsSpec.scala index 02ba2dd0ad..db949c46f9 100644 --- a/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentalsSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentFundamentalsSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.ActorRef.noSender -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.TestFSMRef -import org.apache.pekko.util.Timeout import breeze.numerics.pow import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.system.SystemParticipantInput @@ -27,8 +23,8 @@ import edu.ie3.simona.exceptions.agent.{ InconsistentStateException, } import edu.ie3.simona.model.participant.CalcRelevantData.FixedRelevantData -import edu.ie3.simona.model.participant.SystemParticipant import edu.ie3.simona.model.participant.ModelState.ConstantState +import edu.ie3.simona.model.participant.SystemParticipant import edu.ie3.simona.model.participant.control.QControl.CosPhiFixed import edu.ie3.simona.model.participant.load.FixedLoadModel.FixedLoadRelevantData import edu.ie3.simona.model.participant.load.{FixedLoadModel, LoadReference} @@ -37,12 +33,16 @@ import edu.ie3.simona.test.common.model.participant.LoadTestData import edu.ie3.util.TimeUtil import edu.ie3.util.scala.OperationInterval import edu.ie3.util.scala.quantities.{Megavars, ReactivePower, Vars} +import org.apache.pekko.actor.ActorRef.noSender +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.TestFSMRef +import org.apache.pekko.util.Timeout import org.mockito.Mockito.when import org.scalatest.PrivateMethodTester import org.scalatest.prop.{TableDrivenPropertyChecks, TableFor3, TableFor5} import org.scalatestplus.mockito.MockitoSugar -import squants.{Each, Power} import squants.energy.{Kilowatts, Megawatts, Watts} +import squants.{Each, Power} import java.util.UUID import java.util.concurrent.TimeUnit diff --git a/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentMock.scala b/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentMock.scala index 2b7b5f399e..408869b18b 100644 --- a/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentMock.scala +++ b/src/test/scala/edu/ie3/simona/agent/participant/ParticipantAgentMock.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.{ActorRef, FSM, Props} -import org.apache.pekko.actor.typed.{ActorRef => TypedActorRef} import edu.ie3.datamodel.models.input.system.SystemParticipantInput import edu.ie3.datamodel.models.result.system.SystemParticipantResult import edu.ie3.simona.agent.ValueStore @@ -44,6 +42,8 @@ import edu.ie3.simona.model.participant.{ import edu.ie3.simona.ontology.messages.flex.FlexibilityMessage.FlexResponse import edu.ie3.util.quantities.QuantityUtils.RichQuantityDouble import edu.ie3.util.scala.quantities.{Kilovars, Megavars, ReactivePower} +import org.apache.pekko.actor.typed.{ActorRef => TypedActorRef} +import org.apache.pekko.actor.{ActorRef, FSM, Props} import org.mockito.ArgumentMatchers.any import org.mockito.Mockito import org.mockito.Mockito.doReturn diff --git a/src/test/scala/edu/ie3/simona/agent/participant/PvAgentModelCalculationSpec.scala b/src/test/scala/edu/ie3/simona/agent/participant/PvAgentModelCalculationSpec.scala index 7e7e7d28f2..7ec29474ed 100644 --- a/src/test/scala/edu/ie3/simona/agent/participant/PvAgentModelCalculationSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/participant/PvAgentModelCalculationSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.{TestFSMRef, TestProbe} -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.system.PvInput import edu.ie3.datamodel.models.input.system.characteristic.QV @@ -54,6 +50,10 @@ import edu.ie3.util.scala.quantities.{ Vars, WattsPerSquareMeter, } +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.{TestFSMRef, TestProbe} +import org.apache.pekko.util.Timeout import squants.energy.{Kilowatts, Megawatts, Watts} import squants.motion.MetersPerSecond import squants.thermal.Celsius diff --git a/src/test/scala/edu/ie3/simona/agent/participant/WecAgentModelCalculationSpec.scala b/src/test/scala/edu/ie3/simona/agent/participant/WecAgentModelCalculationSpec.scala index 4e2151087f..fbe382ad8d 100644 --- a/src/test/scala/edu/ie3/simona/agent/participant/WecAgentModelCalculationSpec.scala +++ b/src/test/scala/edu/ie3/simona/agent/participant/WecAgentModelCalculationSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.agent.participant -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.{TestFSMRef, TestProbe} -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.input.system.WecInput import edu.ie3.datamodel.models.input.system.characteristic.QV @@ -61,6 +57,10 @@ import edu.ie3.util.scala.quantities.{ Vars, WattsPerSquareMeter, } +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.{TestFSMRef, TestProbe} +import org.apache.pekko.util.Timeout import org.scalatest.PrivateMethodTester import squants.Each import squants.energy.{Kilowatts, Megawatts, Watts} diff --git a/src/test/scala/edu/ie3/simona/api/ExtSimAdapterSpec.scala b/src/test/scala/edu/ie3/simona/api/ExtSimAdapterSpec.scala index da6431493b..40d8e80406 100644 --- a/src/test/scala/edu/ie3/simona/api/ExtSimAdapterSpec.scala +++ b/src/test/scala/edu/ie3/simona/api/ExtSimAdapterSpec.scala @@ -6,18 +6,10 @@ package edu.ie3.simona.api -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorSystem, Terminated} -import org.apache.pekko.testkit.{TestActorRef, TestProbe} import com.typesafe.config.ConfigFactory import edu.ie3.simona.api.data.ontology.ScheduleDataServiceMessage import edu.ie3.simona.api.simulation.ExtSimAdapterData -import edu.ie3.simona.api.simulation.ontology.{ - ActivationMessage, - TerminationCompleted, - TerminationMessage, - CompletionMessage => ExtCompletionMessage, -} +import edu.ie3.simona.api.simulation.ontology.{ActivationMessage, CompletionMessage => ExtCompletionMessage, TerminationCompleted, TerminationMessage} import edu.ie3.simona.ontology.messages.SchedulerMessage.{ Completion, ScheduleActivation, @@ -27,6 +19,9 @@ import edu.ie3.simona.ontology.messages.{Activation, StopMessage} import edu.ie3.simona.scheduler.ScheduleLock.ScheduleKey import edu.ie3.simona.test.common.{TestKitWithShutdown, TestSpawnerClassic} import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorSystem, Terminated} +import org.apache.pekko.testkit.{TestActorRef, TestProbe} import org.scalatest.wordspec.AnyWordSpecLike import java.util.UUID diff --git a/src/test/scala/edu/ie3/simona/config/ConfigFailFastSpec.scala b/src/test/scala/edu/ie3/simona/config/ConfigFailFastSpec.scala index a9eacda69a..4e454eafd7 100644 --- a/src/test/scala/edu/ie3/simona/config/ConfigFailFastSpec.scala +++ b/src/test/scala/edu/ie3/simona/config/ConfigFailFastSpec.scala @@ -18,8 +18,8 @@ import edu.ie3.simona.test.common.{ConfigTestData, UnitSpec} import edu.ie3.simona.util.ConfigUtil.{CsvConfigUtil, NotifierIdentifier} import edu.ie3.util.TimeUtil -import java.time.{Duration, ZonedDateTime} import java.time.temporal.ChronoUnit +import java.time.{Duration, ZonedDateTime} class ConfigFailFastSpec extends UnitSpec with ConfigTestData { "Validating the configs" when { @@ -504,7 +504,7 @@ class ConfigFailFastSpec extends UnitSpec with ConfigTestData { simonaConfig.simona.runtime.participant.load.individualConfigs, defaultString, ) - }.getMessage shouldBe s"Found invalid UUID 'blabla' it was meant to be the string 'default' or a valid UUID." + }.getMessage shouldBe "Found invalid UUID 'blabla' it was meant to be the string 'default' or a valid UUID." } "throw an InvalidConfigParameterException if the scaling factor of the load model config is negative" in { diff --git a/src/test/scala/edu/ie3/simona/config/RefSystemParserSpec.scala b/src/test/scala/edu/ie3/simona/config/RefSystemParserSpec.scala index 13dfc0c5d1..c49df9f6ca 100644 --- a/src/test/scala/edu/ie3/simona/config/RefSystemParserSpec.scala +++ b/src/test/scala/edu/ie3/simona/config/RefSystemParserSpec.scala @@ -101,7 +101,7 @@ class RefSystemParserSpec extends UnitSpec { ) intercept[InvalidConfigParameterException] { RefSystemParser.parse(validRefSystems) - }.getMessage shouldBe s"The provided gridIds in simona.gridConfig.refSystems contains duplicates. Please check if there are either duplicate entries or overlapping ranges!" + }.getMessage shouldBe "The provided gridIds in simona.gridConfig.refSystems contains duplicates. Please check if there are either duplicate entries or overlapping ranges!" } @@ -128,7 +128,7 @@ class RefSystemParserSpec extends UnitSpec { ) intercept[InvalidConfigParameterException] { RefSystemParser.parse(validRefSystems) - }.getMessage shouldBe s"The provided voltLvls in simona.gridConfig.refSystems contains duplicates. Please check your configuration for duplicates in voltLvl entries!" + }.getMessage shouldBe "The provided voltLvls in simona.gridConfig.refSystems contains duplicates. Please check your configuration for duplicates in voltLvl entries!" } diff --git a/src/test/scala/edu/ie3/simona/deploy/DeploySpec.scala b/src/test/scala/edu/ie3/simona/deploy/DeploySpec.scala index 82f2c349db..fd9e614cbd 100644 --- a/src/test/scala/edu/ie3/simona/deploy/DeploySpec.scala +++ b/src/test/scala/edu/ie3/simona/deploy/DeploySpec.scala @@ -11,7 +11,6 @@ import org.scalatest.Ignore import java.io.File import scala.io.{Codec, Source} -import scala.language.{existentials, postfixOps} import scala.util.{Failure, Success, Using} // this is secure functionality spec to ensure that the deployment script is altered if required in order to maintain diff --git a/src/test/scala/edu/ie3/simona/event/NotifierSpec.scala b/src/test/scala/edu/ie3/simona/event/NotifierSpec.scala index 654e6ff8d4..8218d0d427 100644 --- a/src/test/scala/edu/ie3/simona/event/NotifierSpec.scala +++ b/src/test/scala/edu/ie3/simona/event/NotifierSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.event -import java.util.{Calendar, Date} -import org.apache.pekko.actor.{ActorLogging, ActorRef, ActorSystem, Props} -import org.apache.pekko.testkit.ImplicitSender -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.models.result.system._ import edu.ie3.simona.event.NotifierSpec.{TestEvent, TestEventEnvelope} @@ -17,8 +13,12 @@ import edu.ie3.simona.event.notifier.Notifier import edu.ie3.simona.test.common.TestKitWithShutdown import edu.ie3.simona.util.ConfigUtil.NotifierIdentifier._ import edu.ie3.simona.util.EntityMapperUtil +import org.apache.pekko.actor.{ActorLogging, ActorRef, ActorSystem, Props} +import org.apache.pekko.testkit.ImplicitSender +import org.apache.pekko.util.Timeout import org.scalatest.matchers.should.Matchers +import java.util.{Calendar, Date} import scala.concurrent.duration._ import scala.language.postfixOps @@ -41,7 +41,7 @@ class NotifierSpec extends Notifier with ActorLogging { override def preStart(): Unit = { - log.debug(s"{} started!", self) + log.debug("{} started!", self) } override def receive: Receive = { diff --git a/src/test/scala/edu/ie3/simona/event/SimonaListenerSpec.scala b/src/test/scala/edu/ie3/simona/event/SimonaListenerSpec.scala index c9c6b0238c..32e20bed01 100644 --- a/src/test/scala/edu/ie3/simona/event/SimonaListenerSpec.scala +++ b/src/test/scala/edu/ie3/simona/event/SimonaListenerSpec.scala @@ -6,13 +6,13 @@ package edu.ie3.simona.event -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.{EventFilter, TestActorRef} import com.typesafe.config.ConfigFactory import edu.ie3.simona.event.SimonaListenerSpec.{TestEvent, UnknownEvent} import edu.ie3.simona.event.listener.SimonaListenerWithFilter import edu.ie3.simona.logging.SimonaLogging.SimonaBusLogging import edu.ie3.simona.test.common.TestKitWithShutdown +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.{EventFilter, TestActorRef} import org.scalatest.matchers.should.Matchers import java.util.{Calendar, Date} @@ -22,7 +22,7 @@ object SimonaListenerSpec { // test classes final case class TestEvent(str: String, date: Date) extends Event - final case object UnknownEvent extends Event + case object UnknownEvent extends Event } @@ -45,7 +45,7 @@ class SimonaListenerSpec class SimonaListenerActor(eventsToProcess: Option[List[String]] = None) extends SimonaListenerWithFilter(eventsToProcess) { override def preStart(): Unit = { - log.debug(s"{} started!", self) + log.debug("{} started!", self) } override def processEvent(event: Event, sender: ActorRef): Unit = { diff --git a/src/test/scala/edu/ie3/simona/event/listener/ResultEventListenerSpec.scala b/src/test/scala/edu/ie3/simona/event/listener/ResultEventListenerSpec.scala index 067162f30b..bc158c2e1c 100644 --- a/src/test/scala/edu/ie3/simona/event/listener/ResultEventListenerSpec.scala +++ b/src/test/scala/edu/ie3/simona/event/listener/ResultEventListenerSpec.scala @@ -32,7 +32,6 @@ import org.apache.pekko.actor.testkit.typed.scaladsl.{ ScalaTestWithActorTestKit, } import org.apache.pekko.testkit.TestKit.awaitCond -import org.apache.pekko.testkit.TestProbe import java.io.{File, FileInputStream} import java.util.UUID diff --git a/src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerKafkaSpec.scala b/src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerKafkaSpec.scala index 47b14f6aee..36dc1f2a5a 100644 --- a/src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerKafkaSpec.scala +++ b/src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerKafkaSpec.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.event.listener -import org.apache.pekko.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit import com.sksamuel.avro4s.RecordFormat import edu.ie3.simona.config.SimonaConfig import edu.ie3.simona.event.RuntimeEvent.{Done, Error, PowerFlowFailed} @@ -20,6 +19,7 @@ import org.apache.kafka.clients.consumer.KafkaConsumer import org.apache.kafka.common.TopicPartition import org.apache.kafka.common.serialization.{Deserializer, Serdes} import org.apache.kafka.common.utils.Bytes +import org.apache.pekko.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit import org.scalatest.GivenWhenThen import org.scalatest.prop.TableDrivenPropertyChecks diff --git a/src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerSpec.scala b/src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerSpec.scala index a1bad16bde..dd884fbe89 100644 --- a/src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerSpec.scala +++ b/src/test/scala/edu/ie3/simona/event/listener/RuntimeEventListenerSpec.scala @@ -6,11 +6,6 @@ package edu.ie3.simona.event.listener -import org.apache.pekko.actor.testkit.typed.scaladsl.{ - ActorTestKit, - LoggingTestKit, - ScalaTestWithActorTestKit, -} import com.typesafe.config.ConfigValueFactory import edu.ie3.simona.config.SimonaConfig import edu.ie3.simona.event.RuntimeEvent @@ -26,6 +21,11 @@ import edu.ie3.simona.event.RuntimeEvent.{ } import edu.ie3.simona.util.TickUtil._ import edu.ie3.util.TimeUtil +import org.apache.pekko.actor.testkit.typed.scaladsl.{ + ActorTestKit, + LoggingTestKit, + ScalaTestWithActorTestKit, +} import org.scalatest.PrivateMethodTester import org.scalatest.matchers.should import org.scalatest.wordspec.AnyWordSpecLike @@ -118,7 +118,7 @@ class RuntimeEventListenerSpec ( InitComplete(0L), Level.INFO, - s"Initialization complete. (duration: 0h : 0m : 0s )", + "Initialization complete. (duration: 0h : 0m : 0s )", ), ( Ready(currentTick, 0L), diff --git a/src/test/scala/edu/ie3/simona/integration/RunSimonaStandaloneIT.scala b/src/test/scala/edu/ie3/simona/integration/RunSimonaStandaloneIT.scala index bbb75ab499..d531049bda 100644 --- a/src/test/scala/edu/ie3/simona/integration/RunSimonaStandaloneIT.scala +++ b/src/test/scala/edu/ie3/simona/integration/RunSimonaStandaloneIT.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.integration -import java.io.File -import java.util.concurrent.LinkedBlockingQueue import com.typesafe.config.{ConfigFactory, ConfigValueFactory} import edu.ie3.datamodel.models.result.ResultEntity import edu.ie3.datamodel.models.result.system.PvResult @@ -22,6 +20,8 @@ import edu.ie3.simona.util.ResultFileHierarchy import edu.ie3.util.io.FileIOUtils import org.scalatest.BeforeAndAfterAll +import java.io.File +import java.util.concurrent.LinkedBlockingQueue import scala.io.{BufferedSource, Source} import scala.jdk.CollectionConverters._ diff --git a/src/test/scala/edu/ie3/simona/io/file/ResultFileHierarchySpec.scala b/src/test/scala/edu/ie3/simona/io/file/ResultFileHierarchySpec.scala index 3b89d418f2..b9f20bf9bd 100644 --- a/src/test/scala/edu/ie3/simona/io/file/ResultFileHierarchySpec.scala +++ b/src/test/scala/edu/ie3/simona/io/file/ResultFileHierarchySpec.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.io.file -import java.io.File -import java.nio.file.{Files, Path} - import edu.ie3.datamodel.models.result.system.PvResult import edu.ie3.simona.io.result.ResultSinkType import edu.ie3.simona.test.common.{IOTestCommons, UnitSpec} @@ -17,6 +14,9 @@ import edu.ie3.simona.util.ResultFileHierarchy.ResultEntityPathConfig import edu.ie3.util.io.FileIOUtils import org.scalatest.BeforeAndAfterAll +import java.io.File +import java.nio.file.{Files, Path} + class ResultFileHierarchySpec extends UnitSpec with BeforeAndAfterAll diff --git a/src/test/scala/edu/ie3/simona/io/result/ResultEntityCsvSinkSpec.scala b/src/test/scala/edu/ie3/simona/io/result/ResultEntityCsvSinkSpec.scala index aaed7c1d76..162290dec0 100644 --- a/src/test/scala/edu/ie3/simona/io/result/ResultEntityCsvSinkSpec.scala +++ b/src/test/scala/edu/ie3/simona/io/result/ResultEntityCsvSinkSpec.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.io.result -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.stream.scaladsl.FileIO -import org.apache.pekko.util.ByteString import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.exceptions.EntityProcessorException import edu.ie3.datamodel.io.processor.result.ResultEntityProcessor @@ -18,6 +15,9 @@ import edu.ie3.simona.exceptions.ProcessResultEventException import edu.ie3.simona.test.common.{IOTestCommons, TestKitWithShutdown, UnitSpec} import edu.ie3.util.TimeUtil import edu.ie3.util.io.FileIOUtils +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.scaladsl.FileIO +import org.apache.pekko.util.ByteString import tech.units.indriya.quantity.Quantities import java.io.File @@ -27,7 +27,6 @@ import java.util.UUID import scala.concurrent.Await import scala.concurrent.duration.DurationInt import scala.io.Source -import scala.language.postfixOps class ResultEntityCsvSinkSpec extends TestKitWithShutdown( diff --git a/src/test/scala/edu/ie3/simona/io/result/ResultEntityKafkaSpec.scala b/src/test/scala/edu/ie3/simona/io/result/ResultEntityKafkaSpec.scala index ed88041bc0..e674c9f240 100644 --- a/src/test/scala/edu/ie3/simona/io/result/ResultEntityKafkaSpec.scala +++ b/src/test/scala/edu/ie3/simona/io/result/ResultEntityKafkaSpec.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.io.result -import org.apache.pekko.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit import com.sksamuel.avro4s.RecordFormat import edu.ie3.datamodel.models.result.NodeResult import edu.ie3.simona.event.ResultEvent.PowerFlowResultEvent @@ -23,6 +22,7 @@ import org.apache.kafka.clients.consumer.KafkaConsumer import org.apache.kafka.common.TopicPartition import org.apache.kafka.common.serialization.{Deserializer, Serdes} import org.apache.kafka.common.utils.Bytes +import org.apache.pekko.actor.testkit.typed.scaladsl.ScalaTestWithActorTestKit import org.scalatest.GivenWhenThen import org.scalatest.concurrent.Eventually import org.scalatest.wordspec.AnyWordSpecLike diff --git a/src/test/scala/edu/ie3/simona/model/grid/LineSpec.scala b/src/test/scala/edu/ie3/simona/model/grid/LineSpec.scala index c1a3fe9ebf..32f3369665 100644 --- a/src/test/scala/edu/ie3/simona/model/grid/LineSpec.scala +++ b/src/test/scala/edu/ie3/simona/model/grid/LineSpec.scala @@ -11,12 +11,10 @@ import edu.ie3.datamodel.exceptions.InvalidGridException import edu.ie3.simona.test.common.UnitSpec import edu.ie3.simona.test.common.input.LineInputTestData import edu.ie3.simona.test.common.model.grid.FiveLinesWithNodes -import edu.ie3.util.quantities.PowerSystemUnits._ import edu.ie3.util.scala.OperationInterval import squants.Each import squants.electro.{Amperes, Kilovolts} import squants.energy.Kilowatts -import tech.units.indriya.unit.Units._ import java.util.UUID diff --git a/src/test/scala/edu/ie3/simona/model/grid/SystemComponentSpec.scala b/src/test/scala/edu/ie3/simona/model/grid/SystemComponentSpec.scala index c9668e16d2..765c0008c8 100644 --- a/src/test/scala/edu/ie3/simona/model/grid/SystemComponentSpec.scala +++ b/src/test/scala/edu/ie3/simona/model/grid/SystemComponentSpec.scala @@ -6,13 +6,12 @@ package edu.ie3.simona.model.grid -import java.util.UUID - import edu.ie3.simona.model.SystemComponent import edu.ie3.simona.model.grid.SystemComponentSpec.SystemComponentMock import edu.ie3.simona.test.common.UnitSpec import edu.ie3.util.scala.OperationInterval +import java.util.UUID import scala.util.Try /** Test for abstract class [[SystemComponent]] diff --git a/src/test/scala/edu/ie3/simona/model/grid/TransformerModelSpec.scala b/src/test/scala/edu/ie3/simona/model/grid/TransformerModelSpec.scala index d7fd3025ff..93ae31d948 100644 --- a/src/test/scala/edu/ie3/simona/model/grid/TransformerModelSpec.scala +++ b/src/test/scala/edu/ie3/simona/model/grid/TransformerModelSpec.scala @@ -27,10 +27,8 @@ import edu.ie3.simona.test.common.model.grid.{ import edu.ie3.util.quantities.PowerSystemUnits._ import org.scalatest.prop.{TableDrivenPropertyChecks, TableFor4} import squants.Each -import squants.electro.{Amperes, Kilovolts} -import squants.energy.Kilowatts +import squants.electro.Amperes import tech.units.indriya.quantity.Quantities -import tech.units.indriya.unit.Units._ import java.time.ZonedDateTime import java.time.temporal.ChronoUnit diff --git a/src/test/scala/edu/ie3/simona/model/participant/ApparentPowerAndHeatSpec.scala b/src/test/scala/edu/ie3/simona/model/participant/ApparentPowerAndHeatSpec.scala index 43f4ef8baa..f7d28ebe6d 100644 --- a/src/test/scala/edu/ie3/simona/model/participant/ApparentPowerAndHeatSpec.scala +++ b/src/test/scala/edu/ie3/simona/model/participant/ApparentPowerAndHeatSpec.scala @@ -11,8 +11,8 @@ import edu.ie3.simona.model.participant.ApparentPowerAndHeatSpec.ApparentPowerAn import edu.ie3.simona.model.participant.CalcRelevantData.FixedRelevantData import edu.ie3.simona.model.participant.ModelState.ConstantState import edu.ie3.simona.model.participant.control.QControl.CosPhiFixed -import edu.ie3.simona.ontology.messages.flex.MinMaxFlexibilityMessage.ProvideMinMaxFlexOptions import edu.ie3.simona.ontology.messages.flex.FlexibilityMessage +import edu.ie3.simona.ontology.messages.flex.MinMaxFlexibilityMessage.ProvideMinMaxFlexOptions import edu.ie3.simona.test.common.UnitSpec import edu.ie3.util.scala.OperationInterval import edu.ie3.util.scala.quantities.{Megavars, ReactivePower, Vars} diff --git a/src/test/scala/edu/ie3/simona/model/participant/load/RandomLoadParamStoreSpec.scala b/src/test/scala/edu/ie3/simona/model/participant/load/RandomLoadParamStoreSpec.scala index 7af564121a..c613e62720 100644 --- a/src/test/scala/edu/ie3/simona/model/participant/load/RandomLoadParamStoreSpec.scala +++ b/src/test/scala/edu/ie3/simona/model/participant/load/RandomLoadParamStoreSpec.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.model.participant.load -import java.io.InputStreamReader - import edu.ie3.simona.model.participant.load.random.{ RandomLoadParamStore, RandomLoadParameters, @@ -18,6 +16,8 @@ import edu.ie3.util.TimeUtil import org.scalatest.PrivateMethodTester import org.scalatest.prop.TableDrivenPropertyChecks +import java.io.InputStreamReader + class RandomLoadParamStoreSpec extends UnitSpec with PrivateMethodTester diff --git a/src/test/scala/edu/ie3/simona/scheduler/ScheduleLockIT.scala b/src/test/scala/edu/ie3/simona/scheduler/ScheduleLockIT.scala index e001a45a8b..17e77055fe 100644 --- a/src/test/scala/edu/ie3/simona/scheduler/ScheduleLockIT.scala +++ b/src/test/scala/edu/ie3/simona/scheduler/ScheduleLockIT.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.scheduler -import org.apache.pekko.actor.testkit.typed.scaladsl.{ - ScalaTestWithActorTestKit, - TestProbe, -} import edu.ie3.simona.ontology.messages.SchedulerMessage.{ Completion, ScheduleActivation, @@ -17,6 +13,10 @@ import edu.ie3.simona.ontology.messages.SchedulerMessage.{ import edu.ie3.simona.ontology.messages.{Activation, SchedulerMessage} import edu.ie3.simona.test.common.TestSpawnerTyped import edu.ie3.simona.util.ActorUtils.RichActivatedActor +import org.apache.pekko.actor.testkit.typed.scaladsl.{ + ScalaTestWithActorTestKit, + TestProbe, +} import org.scalatest.matchers.should import org.scalatest.wordspec.AnyWordSpecLike diff --git a/src/test/scala/edu/ie3/simona/scheduler/ScheduleLockSpec.scala b/src/test/scala/edu/ie3/simona/scheduler/ScheduleLockSpec.scala index b075c077dd..7b8a1c1dcb 100644 --- a/src/test/scala/edu/ie3/simona/scheduler/ScheduleLockSpec.scala +++ b/src/test/scala/edu/ie3/simona/scheduler/ScheduleLockSpec.scala @@ -6,16 +6,16 @@ package edu.ie3.simona.scheduler -import org.apache.pekko.actor.testkit.typed.scaladsl.{ - ScalaTestWithActorTestKit, - TestProbe, -} -import edu.ie3.simona.ontology.messages.{Activation, SchedulerMessage} import edu.ie3.simona.ontology.messages.SchedulerMessage.{ Completion, ScheduleActivation, } +import edu.ie3.simona.ontology.messages.{Activation, SchedulerMessage} import edu.ie3.simona.test.common.TestSpawnerTyped +import org.apache.pekko.actor.testkit.typed.scaladsl.{ + ScalaTestWithActorTestKit, + TestProbe, +} import org.scalatest.matchers.should import org.scalatest.wordspec.AnyWordSpecLike diff --git a/src/test/scala/edu/ie3/simona/scheduler/SchedulerSpec.scala b/src/test/scala/edu/ie3/simona/scheduler/SchedulerSpec.scala index 5c610eb18d..f941cb06dc 100644 --- a/src/test/scala/edu/ie3/simona/scheduler/SchedulerSpec.scala +++ b/src/test/scala/edu/ie3/simona/scheduler/SchedulerSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.scheduler -import org.apache.pekko.actor.testkit.typed.scaladsl.{ - ScalaTestWithActorTestKit, - TestProbe, -} import edu.ie3.simona.ontology.messages.SchedulerMessage.{ Completion, ScheduleActivation, @@ -18,6 +14,10 @@ import edu.ie3.simona.ontology.messages.{Activation, SchedulerMessage} import edu.ie3.simona.scheduler.ScheduleLock.{LockMsg, ScheduleKey, Unlock} import edu.ie3.simona.util.ActorUtils.RichActivatedActor import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.testkit.typed.scaladsl.{ + ScalaTestWithActorTestKit, + TestProbe, +} import org.scalatest.matchers.should import org.scalatest.wordspec.AnyWordSpecLike diff --git a/src/test/scala/edu/ie3/simona/scheduler/TimeAdvancerSpec.scala b/src/test/scala/edu/ie3/simona/scheduler/TimeAdvancerSpec.scala index 3ad6cda04a..03c9399764 100644 --- a/src/test/scala/edu/ie3/simona/scheduler/TimeAdvancerSpec.scala +++ b/src/test/scala/edu/ie3/simona/scheduler/TimeAdvancerSpec.scala @@ -6,11 +6,6 @@ package edu.ie3.simona.scheduler -import org.apache.pekko.actor.testkit.typed.scaladsl.{ - ScalaTestWithActorTestKit, - TestProbe, -} -import org.apache.pekko.actor.typed.scaladsl.adapter.TypedActorRefOps import edu.ie3.simona.event.RuntimeEvent import edu.ie3.simona.event.RuntimeEvent._ import edu.ie3.simona.ontology.messages.Activation @@ -22,6 +17,11 @@ import edu.ie3.simona.scheduler.TimeAdvancer.{StartSimMessage, Stop} import edu.ie3.simona.sim.SimMessage import edu.ie3.simona.sim.SimMessage.{SimulationFailure, SimulationSuccessful} import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK +import org.apache.pekko.actor.testkit.typed.scaladsl.{ + ScalaTestWithActorTestKit, + TestProbe, +} +import org.apache.pekko.actor.typed.scaladsl.adapter.TypedActorRefOps import org.scalatest.matchers.should import org.scalatest.wordspec.AnyWordSpecLike diff --git a/src/test/scala/edu/ie3/simona/service/ev/ExtEvDataServiceSpec.scala b/src/test/scala/edu/ie3/simona/service/ev/ExtEvDataServiceSpec.scala index 5eed45eb46..df88db26f2 100644 --- a/src/test/scala/edu/ie3/simona/service/ev/ExtEvDataServiceSpec.scala +++ b/src/test/scala/edu/ie3/simona/service/ev/ExtEvDataServiceSpec.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.service.ev -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorRef, ActorSystem} -import org.apache.pekko.testkit.{TestActorRef, TestProbe} import com.typesafe.config.ConfigFactory import edu.ie3.simona.api.data.ev.ExtEvData import edu.ie3.simona.api.data.ev.model.EvModel @@ -33,6 +30,9 @@ import edu.ie3.simona.test.common.{ } import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.quantities.PowerSystemUnits +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorRef, ActorSystem} +import org.apache.pekko.testkit.{TestActorRef, TestProbe} import org.scalatest.wordspec.AnyWordSpecLike import tech.units.indriya.quantity.Quantities diff --git a/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySpec.scala b/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySpec.scala index 43a64da1ce..c1bb4fb2c7 100644 --- a/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySpec.scala +++ b/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.service.primary -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.actor.{ActorRef, ActorSystem, PoisonPill} -import org.apache.pekko.testkit.{TestActorRef, TestProbe} -import org.apache.pekko.util.Timeout import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.io.csv.CsvIndividualTimeSeriesMetaInformation import edu.ie3.datamodel.io.naming.FileNamingStrategy @@ -53,6 +49,10 @@ import edu.ie3.simona.test.common.input.TimeSeriesTestData import edu.ie3.simona.test.common.{AgentSpec, TestSpawnerClassic} import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.TimeUtil +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.actor.{ActorRef, ActorSystem, PoisonPill} +import org.apache.pekko.testkit.{TestActorRef, TestProbe} +import org.apache.pekko.util.Timeout import org.scalatest.PartialFunctionValues import org.scalatest.prop.TableDrivenPropertyChecks diff --git a/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySqlIT.scala b/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySqlIT.scala index b451036391..414b4c00ee 100644 --- a/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySqlIT.scala +++ b/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceProxySqlIT.scala @@ -6,12 +6,6 @@ package edu.ie3.simona.service.primary -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.actor.typed.scaladsl.adapter.{ - ClassicActorRefOps, - TypedActorRefOps, -} -import org.apache.pekko.testkit.{TestActorRef, TestProbe} import com.dimafeng.testcontainers.{ForAllTestContainer, PostgreSQLContainer} import com.typesafe.config.ConfigFactory import edu.ie3.simona.config.SimonaConfig @@ -31,6 +25,12 @@ import edu.ie3.simona.test.common.{AgentSpec, TestSpawnerClassic} import edu.ie3.simona.test.helper.TestContainerHelper import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.TimeUtil +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter.{ + ClassicActorRefOps, + TypedActorRefOps, +} +import org.apache.pekko.testkit.{TestActorRef, TestProbe} import org.scalatest.BeforeAndAfterAll import org.testcontainers.utility.DockerImageName diff --git a/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceWorkerSpec.scala b/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceWorkerSpec.scala index b54fa8a41f..9e3a4eb758 100644 --- a/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceWorkerSpec.scala +++ b/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceWorkerSpec.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.service.primary -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.testkit.{TestActorRef, TestProbe} import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.io.factory.timeseries.TimeBasedSimpleValueFactory import edu.ie3.datamodel.io.naming.FileNamingStrategy @@ -33,12 +30,15 @@ import edu.ie3.simona.service.primary.PrimaryServiceWorker.{ ProvidePrimaryDataMessage, } import edu.ie3.simona.service.primary.PrimaryServiceWorkerSpec.WrongInitPrimaryServiceStateData -import edu.ie3.simona.test.common.{AgentSpec, TestSpawnerClassic} import edu.ie3.simona.test.common.input.TimeSeriesTestData +import edu.ie3.simona.test.common.{AgentSpec, TestSpawnerClassic} import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.TimeUtil import edu.ie3.util.quantities.PowerSystemUnits import edu.ie3.util.scala.collection.immutable.SortedDistinctSeq +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.testkit.{TestActorRef, TestProbe} import squants.energy.{Kilowatts, Watts} import tech.units.indriya.quantity.Quantities diff --git a/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceWorkerSqlIT.scala b/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceWorkerSqlIT.scala index f85def148c..d306b204c1 100644 --- a/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceWorkerSqlIT.scala +++ b/src/test/scala/edu/ie3/simona/service/primary/PrimaryServiceWorkerSqlIT.scala @@ -6,9 +6,6 @@ package edu.ie3.simona.service.primary -import org.apache.pekko.actor.ActorSystem -import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps -import org.apache.pekko.testkit.{TestActorRef, TestProbe} import com.dimafeng.testcontainers.{ForAllTestContainer, PostgreSQLContainer} import com.typesafe.config.ConfigFactory import edu.ie3.datamodel.io.naming.DatabaseNamingStrategy @@ -37,6 +34,9 @@ import edu.ie3.simona.test.helper.TestContainerHelper import edu.ie3.simona.util.SimonaConstants.INIT_SIM_TICK import edu.ie3.util.TimeUtil import edu.ie3.util.scala.quantities.Kilovars +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.actor.typed.scaladsl.adapter.ClassicActorRefOps +import org.apache.pekko.testkit.{TestActorRef, TestProbe} import org.scalatest.BeforeAndAfterAll import org.scalatest.prop.TableDrivenPropertyChecks import org.testcontainers.utility.DockerImageName diff --git a/src/test/scala/edu/ie3/simona/service/weather/SampleWeatherSourceSpec.scala b/src/test/scala/edu/ie3/simona/service/weather/SampleWeatherSourceSpec.scala index 0d61932603..5ec1b9955e 100644 --- a/src/test/scala/edu/ie3/simona/service/weather/SampleWeatherSourceSpec.scala +++ b/src/test/scala/edu/ie3/simona/service/weather/SampleWeatherSourceSpec.scala @@ -18,9 +18,9 @@ import edu.ie3.util.TimeUtil import edu.ie3.util.scala.quantities.{Irradiance, WattsPerSquareMeter} import org.scalatest.prop.TableDrivenPropertyChecks import org.scalatestplus.mockito.MockitoSugar -import squants.{Temperature, Velocity} import squants.motion.MetersPerSecond import squants.thermal.Celsius +import squants.{Temperature, Velocity} import java.time.ZonedDateTime import scala.util.{Failure, Success} diff --git a/src/test/scala/edu/ie3/simona/service/weather/WeatherServiceSpec.scala b/src/test/scala/edu/ie3/simona/service/weather/WeatherServiceSpec.scala index ea38f702cf..d6624fe965 100644 --- a/src/test/scala/edu/ie3/simona/service/weather/WeatherServiceSpec.scala +++ b/src/test/scala/edu/ie3/simona/service/weather/WeatherServiceSpec.scala @@ -64,7 +64,7 @@ class WeatherServiceSpec // setup config for scheduler private val config = ConfigFactory - .parseString(s""" + .parseString(""" simona.time.startDateTime = "2011-01-01 00:00:00" simona.time.endDateTime = "2011-01-01 01:00:00" simona.time.schedulerReadyCheckWindow = 900 diff --git a/src/test/scala/edu/ie3/simona/service/weather/WeatherSourceWrapperSpec.scala b/src/test/scala/edu/ie3/simona/service/weather/WeatherSourceWrapperSpec.scala index 96eb6df6ee..c5b44c9589 100644 --- a/src/test/scala/edu/ie3/simona/service/weather/WeatherSourceWrapperSpec.scala +++ b/src/test/scala/edu/ie3/simona/service/weather/WeatherSourceWrapperSpec.scala @@ -30,10 +30,10 @@ import edu.ie3.util.geo.GeoUtils import edu.ie3.util.interval.ClosedInterval import edu.ie3.util.scala.quantities.{Irradiance, WattsPerSquareMeter} import org.locationtech.jts.geom.Point -import tech.units.indriya.ComparableQuantity -import squants.{Temperature, Velocity} import squants.motion.MetersPerSecond import squants.thermal.{Celsius, Kelvin} +import squants.{Temperature, Velocity} +import tech.units.indriya.ComparableQuantity import tech.units.indriya.quantity.Quantities import tech.units.indriya.unit.Units diff --git a/src/test/scala/edu/ie3/simona/sim/SimonaSimFailSpec.scala b/src/test/scala/edu/ie3/simona/sim/SimonaSimFailSpec.scala index e9ad87efff..cea7d8ac8a 100644 --- a/src/test/scala/edu/ie3/simona/sim/SimonaSimFailSpec.scala +++ b/src/test/scala/edu/ie3/simona/sim/SimonaSimFailSpec.scala @@ -6,6 +6,15 @@ package edu.ie3.simona.sim +import com.typesafe.config.ConfigFactory +import edu.ie3.simona.agent.EnvironmentRefs +import edu.ie3.simona.event.RuntimeEvent +import edu.ie3.simona.scheduler.TimeAdvancer +import edu.ie3.simona.scheduler.TimeAdvancer.StartSimMessage +import edu.ie3.simona.sim.SimMessage.{InitSim, SimulationFailure} +import edu.ie3.simona.sim.SimonaSimFailSpec.FailSim +import edu.ie3.simona.sim.setup.{ExtSimSetupData, SimonaSetup} +import edu.ie3.simona.test.common.AgentSpec import org.apache.pekko.actor.typed.scaladsl.adapter.{ ClassicActorRefOps, ClassicActorSystemOps, @@ -18,15 +27,6 @@ import org.apache.pekko.actor.{ Props, } import org.apache.pekko.testkit.{TestActorRef, TestProbe} -import com.typesafe.config.ConfigFactory -import edu.ie3.simona.agent.EnvironmentRefs -import edu.ie3.simona.event.RuntimeEvent -import edu.ie3.simona.scheduler.TimeAdvancer -import edu.ie3.simona.scheduler.TimeAdvancer.StartSimMessage -import edu.ie3.simona.sim.SimMessage.{InitSim, SimulationFailure} -import edu.ie3.simona.sim.SimonaSimFailSpec.FailSim -import edu.ie3.simona.sim.setup.{ExtSimSetupData, SimonaSetup} -import edu.ie3.simona.test.common.AgentSpec class SimonaSimFailSpec extends AgentSpec( diff --git a/src/test/scala/edu/ie3/simona/sim/setup/SetupHelperSpec.scala b/src/test/scala/edu/ie3/simona/sim/setup/SetupHelperSpec.scala index d0bbcf39b3..09fd47381f 100644 --- a/src/test/scala/edu/ie3/simona/sim/setup/SetupHelperSpec.scala +++ b/src/test/scala/edu/ie3/simona/sim/setup/SetupHelperSpec.scala @@ -6,10 +6,6 @@ package edu.ie3.simona.sim.setup -import java.util.UUID - -import org.apache.pekko.actor.ActorRef -import org.apache.pekko.testkit.TestException import edu.ie3.datamodel.models.input.MeasurementUnitInput import edu.ie3.datamodel.models.input.connector.{ Transformer2WInput, @@ -21,12 +17,15 @@ import edu.ie3.datamodel.models.input.container.{ } import edu.ie3.simona.test.common.UnitSpec import edu.ie3.simona.test.common.input.GridInputTestData +import org.apache.pekko.actor.ActorRef +import org.apache.pekko.testkit.TestException +import java.util.UUID import scala.jdk.CollectionConverters._ class SetupHelperSpec extends UnitSpec with GridInputTestData { - private final object SetupHelperInstance extends SetupHelper + private object SetupHelperInstance extends SetupHelper "A setup helper" should { "reduce multiple SubGridGates between the same superior and inferior nodes to one unique SubGridGate" in { diff --git a/src/test/scala/edu/ie3/simona/sim/setup/SimonaSetupSpec.scala b/src/test/scala/edu/ie3/simona/sim/setup/SimonaSetupSpec.scala index 671ebad4e9..a86c0a4e10 100644 --- a/src/test/scala/edu/ie3/simona/sim/setup/SimonaSetupSpec.scala +++ b/src/test/scala/edu/ie3/simona/sim/setup/SimonaSetupSpec.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.sim.setup -import org.apache.pekko.actor.{ActorContext, ActorRef, ActorSystem} import edu.ie3.datamodel.exceptions.NotImplementedException import edu.ie3.datamodel.models.input.connector.{ ConnectorPort, @@ -17,6 +16,7 @@ import edu.ie3.simona.event.RuntimeEvent import edu.ie3.simona.scheduler.TimeAdvancer import edu.ie3.simona.test.common.UnitSpec import edu.ie3.simona.test.common.model.grid.SubGridGateMokka +import org.apache.pekko.actor.{ActorContext, ActorRef, ActorSystem} import java.util.UUID diff --git a/src/test/scala/edu/ie3/simona/test/common/AgentSpec.scala b/src/test/scala/edu/ie3/simona/test/common/AgentSpec.scala index 8c39b41096..5575584280 100644 --- a/src/test/scala/edu/ie3/simona/test/common/AgentSpec.scala +++ b/src/test/scala/edu/ie3/simona/test/common/AgentSpec.scala @@ -6,9 +6,9 @@ package edu.ie3.simona.test.common +import com.typesafe.scalalogging.LazyLogging import org.apache.pekko.actor.{ActorRef, ActorSystem} import org.apache.pekko.testkit.ImplicitSender -import com.typesafe.scalalogging.LazyLogging import org.scalatest.PrivateMethodTester import org.scalatest.matchers.should import org.scalatest.wordspec.AnyWordSpecLike diff --git a/src/test/scala/edu/ie3/simona/test/common/ConfigTestData.scala b/src/test/scala/edu/ie3/simona/test/common/ConfigTestData.scala index f8d42fc3ef..0f5fb4761f 100644 --- a/src/test/scala/edu/ie3/simona/test/common/ConfigTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/ConfigTestData.scala @@ -6,10 +6,10 @@ package edu.ie3.simona.test.common -import org.apache.pekko.actor.ActorRef import com.typesafe.config.{Config, ConfigFactory} import edu.ie3.simona.config.SimonaConfig import edu.ie3.simona.event.listener.SimonaListenerCompanion +import org.apache.pekko.actor.ActorRef /** Simple (empty) configuration data. Furthermore, it would make sense to * implement another class which reads a config and provides config based diff --git a/src/test/scala/edu/ie3/simona/test/common/SilentTestEventListener.scala b/src/test/scala/edu/ie3/simona/test/common/SilentTestEventListener.scala index 0c960b230c..01a6849532 100644 --- a/src/test/scala/edu/ie3/simona/test/common/SilentTestEventListener.scala +++ b/src/test/scala/edu/ie3/simona/test/common/SilentTestEventListener.scala @@ -6,9 +6,9 @@ package edu.ie3.simona.test.common +import com.typesafe.scalalogging.LazyLogging import org.apache.pekko.event.Logging.{Debug, Error, Info, Warning, simpleName} import org.apache.pekko.testkit.TestEventListener -import com.typesafe.scalalogging.LazyLogging /** Does the same as TestEventListener but without polluting console logs. If * the log should be enabled for debug purposes adapt resources/log4j2-test.xml diff --git a/src/test/scala/edu/ie3/simona/test/common/TestSpawnerTyped.scala b/src/test/scala/edu/ie3/simona/test/common/TestSpawnerTyped.scala index c1e7cac76c..c0a58c1dd9 100644 --- a/src/test/scala/edu/ie3/simona/test/common/TestSpawnerTyped.scala +++ b/src/test/scala/edu/ie3/simona/test/common/TestSpawnerTyped.scala @@ -6,9 +6,9 @@ package edu.ie3.simona.test.common +import edu.ie3.simona.scheduler.ScheduleLock.Spawner import org.apache.pekko.actor.testkit.typed.scaladsl.ActorTestKitBase import org.apache.pekko.actor.typed.{ActorRef, Behavior} -import edu.ie3.simona.scheduler.ScheduleLock.Spawner trait TestSpawnerTyped { this: ActorTestKitBase => diff --git a/src/test/scala/edu/ie3/simona/test/common/UnitSpec.scala b/src/test/scala/edu/ie3/simona/test/common/UnitSpec.scala index a61f4b7879..7ab4f7d05b 100644 --- a/src/test/scala/edu/ie3/simona/test/common/UnitSpec.scala +++ b/src/test/scala/edu/ie3/simona/test/common/UnitSpec.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.test.common -import java.util.Locale import com.typesafe.scalalogging.LazyLogging import edu.ie3.simona.test.matchers.{QuantityMatchers, SquantsMatchers} import edu.ie3.util.scala.quantities.{QuantityUtil => PSQuantityUtil} @@ -15,6 +14,8 @@ import org.scalatest.matchers.should import org.scalatest.prop.TableDrivenPropertyChecks import org.scalatest.wordspec.AnyWordSpecLike +import java.util.Locale + /** Base class to be used with all scala unit tests. All data that should be * commonly available to all unit tests should be placed here instead of mixing * a lot of traits together. See diff --git a/src/test/scala/edu/ie3/simona/test/common/input/CylindricalStorageInputTestData.scala b/src/test/scala/edu/ie3/simona/test/common/input/CylindricalStorageInputTestData.scala index b7c0f678ce..530ee09790 100644 --- a/src/test/scala/edu/ie3/simona/test/common/input/CylindricalStorageInputTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/input/CylindricalStorageInputTestData.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.test.common.input -import java.util.UUID - import edu.ie3.datamodel.models.StandardUnits import edu.ie3.datamodel.models.input.thermal.{ CylindricalStorageInput, @@ -15,6 +13,8 @@ import edu.ie3.datamodel.models.input.thermal.{ } import tech.units.indriya.quantity.Quantities.getQuantity +import java.util.UUID + trait CylindricalStorageInputTestData { protected val csInputModel = new CylindricalStorageInput( diff --git a/src/test/scala/edu/ie3/simona/test/common/input/FixedFeedInputTestData.scala b/src/test/scala/edu/ie3/simona/test/common/input/FixedFeedInputTestData.scala index 6c86b34869..af6108a067 100644 --- a/src/test/scala/edu/ie3/simona/test/common/input/FixedFeedInputTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/input/FixedFeedInputTestData.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.test.common.input -import java.util.UUID - import edu.ie3.datamodel.models.OperationTime import edu.ie3.datamodel.models.input.OperatorInput import edu.ie3.datamodel.models.input.system.FixedFeedInInput @@ -15,6 +13,8 @@ import edu.ie3.datamodel.models.input.system.characteristic.CosPhiFixed import edu.ie3.util.quantities.PowerSystemUnits.VOLTAMPERE import tech.units.indriya.quantity.Quantities +import java.util.UUID + /** //ToDo: Class Description * * @version 0.1 diff --git a/src/test/scala/edu/ie3/simona/test/common/input/LineInputTestData.scala b/src/test/scala/edu/ie3/simona/test/common/input/LineInputTestData.scala index cd011673f3..4febdcd925 100644 --- a/src/test/scala/edu/ie3/simona/test/common/input/LineInputTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/input/LineInputTestData.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.test.common.input -import java.util.UUID - import edu.ie3.datamodel.models.input.OperatorInput import edu.ie3.datamodel.models.input.connector.LineInput import edu.ie3.datamodel.models.input.connector.`type`.LineTypeInput @@ -23,6 +21,8 @@ import edu.ie3.util.quantities.PowerSystemUnits.{ import tech.units.indriya.quantity.Quantities import tech.units.indriya.unit.Units.AMPERE +import java.util.UUID + /** //ToDo: Class Description * * @version 0.1 diff --git a/src/test/scala/edu/ie3/simona/test/common/input/LoadInputTestData.scala b/src/test/scala/edu/ie3/simona/test/common/input/LoadInputTestData.scala index d77a6762e7..9601533e8a 100644 --- a/src/test/scala/edu/ie3/simona/test/common/input/LoadInputTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/input/LoadInputTestData.scala @@ -6,15 +6,16 @@ package edu.ie3.simona.test.common.input -import java.util.UUID +import edu.ie3.datamodel.models.OperationTime import edu.ie3.datamodel.models.input.OperatorInput import edu.ie3.datamodel.models.input.system.LoadInput import edu.ie3.datamodel.models.input.system.characteristic.CosPhiFixed -import edu.ie3.datamodel.models.OperationTime import edu.ie3.datamodel.models.profile.BdewStandardLoadProfile import edu.ie3.util.quantities.PowerSystemUnits.{KILOWATTHOUR, VOLTAMPERE} import tech.units.indriya.quantity.Quantities +import java.util.UUID + /** //ToDo: Class Description * * @version 0.1 diff --git a/src/test/scala/edu/ie3/simona/test/common/input/NodeInputTestData.scala b/src/test/scala/edu/ie3/simona/test/common/input/NodeInputTestData.scala index 27ace499de..1b1619f50f 100644 --- a/src/test/scala/edu/ie3/simona/test/common/input/NodeInputTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/input/NodeInputTestData.scala @@ -6,14 +6,14 @@ package edu.ie3.simona.test.common.input -import java.util.UUID - import edu.ie3.datamodel.models.input.{NodeInput, OperatorInput} import edu.ie3.datamodel.models.voltagelevels.GermanVoltageLevelUtils import edu.ie3.simona.test.common.DefaultTestData import edu.ie3.util.quantities.PowerSystemUnits.PU import tech.units.indriya.quantity.Quantities +import java.util.UUID + /** //ToDo: Class Description * * @version 0.1 diff --git a/src/test/scala/edu/ie3/simona/test/common/input/SwitchInputTestData.scala b/src/test/scala/edu/ie3/simona/test/common/input/SwitchInputTestData.scala index 138edf8219..364d31ee3d 100644 --- a/src/test/scala/edu/ie3/simona/test/common/input/SwitchInputTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/input/SwitchInputTestData.scala @@ -6,12 +6,12 @@ package edu.ie3.simona.test.common.input -import java.util.UUID - import edu.ie3.datamodel.models.input.OperatorInput import edu.ie3.datamodel.models.input.connector.SwitchInput import edu.ie3.simona.test.common.DefaultTestData +import java.util.UUID + /** //ToDo: Class Description * * @version 0.1 diff --git a/src/test/scala/edu/ie3/simona/test/common/input/WecInputTestData.scala b/src/test/scala/edu/ie3/simona/test/common/input/WecInputTestData.scala index f5b41a9a5e..d96ebc9f75 100644 --- a/src/test/scala/edu/ie3/simona/test/common/input/WecInputTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/input/WecInputTestData.scala @@ -6,15 +6,12 @@ package edu.ie3.simona.test.common.input -import java.util.UUID import edu.ie3.datamodel.models.OperationTime import edu.ie3.datamodel.models.input.OperatorInput import edu.ie3.datamodel.models.input.system.WecInput import edu.ie3.datamodel.models.input.system.characteristic.CosPhiFixed -import edu.ie3.simona.test.common.DefaultTestData -import edu.ie3.util.TimeUtil -import java.time.ZonedDateTime +import java.util.UUID trait WecInputTestData extends WecTypeInputTestData { diff --git a/src/test/scala/edu/ie3/simona/test/common/input/WecTypeInputTestData.scala b/src/test/scala/edu/ie3/simona/test/common/input/WecTypeInputTestData.scala index 7e272db12d..e298abd144 100644 --- a/src/test/scala/edu/ie3/simona/test/common/input/WecTypeInputTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/input/WecTypeInputTestData.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.test.common.input -import java.util.UUID - import edu.ie3.datamodel.models.StandardUnits import edu.ie3.datamodel.models.input.system.`type`.WecTypeInput import edu.ie3.datamodel.models.input.system.characteristic.WecCharacteristicInput @@ -15,6 +13,8 @@ import edu.ie3.simona.test.common.DefaultTestData import edu.ie3.util.quantities.PowerSystemUnits import tech.units.indriya.quantity.Quantities +import java.util.UUID + trait WecTypeInputTestData extends DefaultTestData with NodeInputTestData { protected val wecTypeInputEnerconE82 = new WecTypeInput( diff --git a/src/test/scala/edu/ie3/simona/test/common/model/grid/DbfsTestGridWithParticipants.scala b/src/test/scala/edu/ie3/simona/test/common/model/grid/DbfsTestGridWithParticipants.scala index 3e2445ecc1..af4ba79b11 100644 --- a/src/test/scala/edu/ie3/simona/test/common/model/grid/DbfsTestGridWithParticipants.scala +++ b/src/test/scala/edu/ie3/simona/test/common/model/grid/DbfsTestGridWithParticipants.scala @@ -14,8 +14,8 @@ import edu.ie3.datamodel.models.input.container.{ RawGridElements, SystemParticipants, } -import edu.ie3.datamodel.models.input.system.characteristic.CosPhiFixed import edu.ie3.datamodel.models.input.system._ +import edu.ie3.datamodel.models.input.system.characteristic.CosPhiFixed import edu.ie3.datamodel.models.input.{ MeasurementUnitInput, NodeInput, diff --git a/src/test/scala/edu/ie3/simona/test/common/model/grid/SubGridGateMokka.scala b/src/test/scala/edu/ie3/simona/test/common/model/grid/SubGridGateMokka.scala index 6cf1b682d4..ad5d3bab47 100644 --- a/src/test/scala/edu/ie3/simona/test/common/model/grid/SubGridGateMokka.scala +++ b/src/test/scala/edu/ie3/simona/test/common/model/grid/SubGridGateMokka.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.test.common.model.grid -import java.util.UUID import edu.ie3.datamodel.graph.SubGridGate import edu.ie3.datamodel.models.input.NodeInput import edu.ie3.datamodel.models.input.connector.{ @@ -17,6 +16,8 @@ import edu.ie3.datamodel.models.input.connector.{ import org.mockito.Mockito._ import org.scalatestplus.mockito.MockitoSugar +import java.util.UUID + /** Hold my cup of coffee and let me mock you some models. */ trait SubGridGateMokka extends MockitoSugar { diff --git a/src/test/scala/edu/ie3/simona/test/common/model/grid/TransformerTestData.scala b/src/test/scala/edu/ie3/simona/test/common/model/grid/TransformerTestData.scala index 26f26cc141..5f56b12daa 100644 --- a/src/test/scala/edu/ie3/simona/test/common/model/grid/TransformerTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/model/grid/TransformerTestData.scala @@ -9,7 +9,6 @@ package edu.ie3.simona.test.common.model.grid import breeze.math.Complex import edu.ie3.datamodel.models.input.connector.ConnectorPort import edu.ie3.simona.model.grid.RefSystem -import edu.ie3.util.quantities.PowerSystemUnits._ import org.scalatest.prop.TableDrivenPropertyChecks.Table import org.scalatest.prop.{TableFor5, TableFor9} import squants.electro.Kilovolts diff --git a/src/test/scala/edu/ie3/simona/test/common/model/participant/HpTestData.scala b/src/test/scala/edu/ie3/simona/test/common/model/participant/HpTestData.scala index 60750607b4..9893fdf50e 100644 --- a/src/test/scala/edu/ie3/simona/test/common/model/participant/HpTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/model/participant/HpTestData.scala @@ -7,8 +7,6 @@ package edu.ie3.simona.test.common.model.participant import edu.ie3.datamodel.models.input.container.ThermalGrid -import edu.ie3.datamodel.models.{OperationTime, StandardUnits} -import edu.ie3.datamodel.models.input.{NodeInput, OperatorInput} import edu.ie3.datamodel.models.input.system.HpInput import edu.ie3.datamodel.models.input.system.`type`.HpTypeInput import edu.ie3.datamodel.models.input.system.characteristic.ReactivePowerCharacteristic @@ -17,7 +15,9 @@ import edu.ie3.datamodel.models.input.thermal.{ ThermalHouseInput, ThermalStorageInput, } +import edu.ie3.datamodel.models.input.{NodeInput, OperatorInput} import edu.ie3.datamodel.models.voltagelevels.GermanVoltageLevelUtils +import edu.ie3.datamodel.models.{OperationTime, StandardUnits} import edu.ie3.simona.test.common.DefaultTestData import tech.units.indriya.quantity.Quantities diff --git a/src/test/scala/edu/ie3/simona/test/common/model/participant/LoadTestData.scala b/src/test/scala/edu/ie3/simona/test/common/model/participant/LoadTestData.scala index c0985612ba..b2f299d417 100644 --- a/src/test/scala/edu/ie3/simona/test/common/model/participant/LoadTestData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/model/participant/LoadTestData.scala @@ -8,12 +8,12 @@ package edu.ie3.simona.test.common.model.participant import edu.ie3.datamodel.models.OperationTime import edu.ie3.simona.model.SystemComponent - -import java.time.ZonedDateTime import edu.ie3.simona.test.common.input.LoadInputTestData import edu.ie3.util.TimeUtil import edu.ie3.util.scala.OperationInterval +import java.time.ZonedDateTime + /** Trait to supply different test data environments for testing a load agent */ trait LoadTestData extends LoadInputTestData { diff --git a/src/test/scala/edu/ie3/simona/test/common/result/PowerFlowResultData.scala b/src/test/scala/edu/ie3/simona/test/common/result/PowerFlowResultData.scala index 9b51cb3b86..d2e637fbd4 100644 --- a/src/test/scala/edu/ie3/simona/test/common/result/PowerFlowResultData.scala +++ b/src/test/scala/edu/ie3/simona/test/common/result/PowerFlowResultData.scala @@ -6,8 +6,6 @@ package edu.ie3.simona.test.common.result -import java.util.UUID - import edu.ie3.datamodel.models.StandardUnits import edu.ie3.datamodel.models.result.NodeResult import edu.ie3.datamodel.models.result.connector.{ @@ -21,6 +19,8 @@ import edu.ie3.util.quantities.PowerSystemUnits import tech.units.indriya.quantity.Quantities import tech.units.indriya.unit.Units +import java.util.UUID + trait PowerFlowResultData { private val dummyTime = diff --git a/src/test/scala/edu/ie3/simona/test/matchers/QuantityMatchers.scala b/src/test/scala/edu/ie3/simona/test/matchers/QuantityMatchers.scala index 1cae268736..c02f776c82 100644 --- a/src/test/scala/edu/ie3/simona/test/matchers/QuantityMatchers.scala +++ b/src/test/scala/edu/ie3/simona/test/matchers/QuantityMatchers.scala @@ -11,9 +11,9 @@ import edu.ie3.simona.test.matchers.QuantityMatchers.{ QuantityEquivalenceMatcher, } import edu.ie3.util.quantities.QuantityUtil +import org.scalatest.matchers.{MatchResult, Matcher} import javax.measure.Quantity -import org.scalatest.matchers.{MatchResult, Matcher} /** Trait, to simplify test coding, that is reliant on [[Quantity]] s */ diff --git a/src/test/scala/edu/ie3/simona/util/ActorUtils.scala b/src/test/scala/edu/ie3/simona/util/ActorUtils.scala index 986a7b6de7..97a5221503 100644 --- a/src/test/scala/edu/ie3/simona/util/ActorUtils.scala +++ b/src/test/scala/edu/ie3/simona/util/ActorUtils.scala @@ -6,10 +6,10 @@ package edu.ie3.simona.util -import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe -import org.apache.pekko.actor.typed.ActorRef import edu.ie3.simona.ontology.messages.SchedulerMessage.Completion import edu.ie3.simona.ontology.messages.{Activation, SchedulerMessage} +import org.apache.pekko.actor.testkit.typed.scaladsl.TestProbe +import org.apache.pekko.actor.typed.ActorRef import org.scalatest.matchers.should.Matchers.convertToAnyShouldWrapper object ActorUtils { diff --git a/src/test/scala/edu/ie3/simona/util/CollectionUtilsSpec.scala b/src/test/scala/edu/ie3/simona/util/CollectionUtilsSpec.scala index d96c5da9af..98be2bd51e 100644 --- a/src/test/scala/edu/ie3/simona/util/CollectionUtilsSpec.scala +++ b/src/test/scala/edu/ie3/simona/util/CollectionUtilsSpec.scala @@ -8,8 +8,7 @@ package edu.ie3.simona.util import edu.ie3.simona.test.common.UnitSpec import edu.ie3.simona.util.CollectionUtils._ -import squants.Each -import squants.Dimensionless +import squants.{Dimensionless, Each} class CollectionUtilsSpec extends UnitSpec { diff --git a/src/test/scala/edu/ie3/simona/util/ConfigUtilSpec.scala b/src/test/scala/edu/ie3/simona/util/ConfigUtilSpec.scala index c04877efeb..1e64efd6bd 100644 --- a/src/test/scala/edu/ie3/simona/util/ConfigUtilSpec.scala +++ b/src/test/scala/edu/ie3/simona/util/ConfigUtilSpec.scala @@ -21,12 +21,7 @@ import edu.ie3.simona.event.notifier.NotifierConfig import edu.ie3.simona.exceptions.InvalidConfigParameterException import edu.ie3.simona.test.common.{ConfigTestData, UnitSpec} import edu.ie3.simona.util.ConfigUtil.NotifierIdentifier._ -import edu.ie3.simona.util.ConfigUtil.{ - GridOutputConfigUtil, - NotifierIdentifier, - ParticipantConfigUtil, - OutputConfigUtil, -} +import edu.ie3.simona.util.ConfigUtil.{GridOutputConfigUtil, NotifierIdentifier, OutputConfigUtil, ParticipantConfigUtil} import org.scalatest.prop.{TableDrivenPropertyChecks, TableFor2} import java.util.UUID diff --git a/src/test/scala/edu/ie3/simona/util/TestGridFactory.scala b/src/test/scala/edu/ie3/simona/util/TestGridFactory.scala index df7be2d0a4..7a76271d80 100644 --- a/src/test/scala/edu/ie3/simona/util/TestGridFactory.scala +++ b/src/test/scala/edu/ie3/simona/util/TestGridFactory.scala @@ -6,7 +6,6 @@ package edu.ie3.simona.util -import edu.ie3.datamodel.models.input.{MeasurementUnitInput, NodeInput} import edu.ie3.datamodel.models.input.connector.{ LineInput, SwitchInput, @@ -25,6 +24,7 @@ import edu.ie3.datamodel.models.input.graphics.{ NodeGraphicInput, } import edu.ie3.datamodel.models.input.system._ +import edu.ie3.datamodel.models.input.{MeasurementUnitInput, NodeInput} import scala.jdk.CollectionConverters._