Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Implemented `ExtPrimaryData` and `ExtResultsData` [#145](https://github.com/ie3-institute/simonaAPI/issues/145)
- Have EV simulation communicate the next tick [#170](https://github.com/ie3-institute/simonaAPI/issues/170)
- Only communicate the next tick of activation of EV simulation as a whole [#176](https://github.com/ie3-institute/simonaAPI/issues/176)

## [0.4.0] - 2023-11-22

Expand Down
9 changes: 5 additions & 4 deletions src/main/java/edu/ie3/simona/api/data/ev/ExtEvData.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
package edu.ie3.simona.api.data.ev;

import edu.ie3.simona.api.data.ExtData;
import edu.ie3.simona.api.data.ev.model.ArrivingEvsData;
import edu.ie3.simona.api.data.ev.model.EvModel;
import edu.ie3.simona.api.data.ev.ontology.*;
import edu.ie3.simona.api.data.ontology.ScheduleDataServiceMessage;
Expand Down Expand Up @@ -82,10 +81,12 @@ public List<EvModel> requestDepartingEvs(Map<UUID, List<UUID>> departures)
* Provide all EVs that are arriving at some charging station to SIMONA. Method returns right away
* without expecting an answer from SIMONA.
*
* @param arrivals the arriving EVs data per charging station UUID
* @param arrivals the arriving EV models per charging station UUID
* @param maybeNextTick the next tick at which new arrivals are expected, or empty if simulation
* is about to end
*/
public void provideArrivingEvs(Map<UUID, ArrivingEvsData> arrivals) {
sendExtMsg(new ProvideArrivingEvs(arrivals));
public void provideArrivingEvs(Map<UUID, List<EvModel>> arrivals, Optional<Long> maybeNextTick) {
sendExtMsg(new ProvideArrivingEvs(arrivals, maybeNextTick));
}

/**
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,18 @@

package edu.ie3.simona.api.data.ev.ontology;

import edu.ie3.simona.api.data.ev.model.ArrivingEvsData;
import edu.ie3.simona.api.data.ev.model.EvModel;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;

/**
* Provide arriving EVs data to SIMONA and its charging stations
* Provide arriving EVs to SIMONA and its charging stations
*
* @param arrivingEvsData the arriving EVs data per charging station UUID
* @param arrivals the arriving EVs per charging station UUID
* @param maybeNextTick the next tick at which new arrivals are expected, or empty if simulation is
* about to end
*/
public record ProvideArrivingEvs(Map<UUID, ArrivingEvsData> arrivingEvsData)
public record ProvideArrivingEvs(Map<UUID, List<EvModel>> arrivals, Optional<Long> maybeNextTick)
implements EvDataMessageFromExt {}
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package edu.ie3.simona.api.data.ev

import edu.ie3.simona.api.data.ev.model.ArrivingEvsData
import org.apache.pekko.actor.ActorSystem
import org.apache.pekko.testkit.TestProbe
import org.apache.pekko.testkit.javadsl.TestKit
Expand Down Expand Up @@ -95,14 +94,14 @@ class ExtEvDataTest extends Specification {
def extSimAdapter = new TestProbe(actorSystem)
def extEvData = new ExtEvData(dataService.ref(), extSimAdapter.ref())

def arrivingEvsData = new HashMap<UUID, ArrivingEvsData>()
arrivingEvsData.put(UUID.randomUUID(), new ArrivingEvsData(new ArrayList<EvModel>(), Optional.of(60L)))
def arrivingEvs = new HashMap<UUID, List<EvModel>>()
arrivingEvs.put(UUID.randomUUID(), new ArrayList<EvModel>())

when:
extEvData.provideArrivingEvs(arrivingEvsData)
extEvData.provideArrivingEvs(arrivingEvs, Optional.of(60L))

then:
dataService.expectMsg(new ProvideArrivingEvs(arrivingEvsData))
dataService.expectMsg(new ProvideArrivingEvs(arrivingEvs, Optional.of(60L)))
extSimAdapter.expectMsg(new ScheduleDataServiceMessage(dataService.ref()))
}

Expand Down