Skip to content

Commit 4fb7159

Browse files
Merge pull request #1326 from ie3-institute/ms/#1325-fix-handling-of-inputModelType-in-processor
Fixed handling of `CongestionResult.InputModelType` in `EntityProcessor`
2 parents 2098b4b + 41ba21f commit 4fb7159

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased/Snapshot]
88

9+
### Fixed
10+
- Fixed handling of `CongestionResult.InputModelType` in `EntityProcessor` [#1325](https://github.com/ie3-institute/PowerSystemDataModel/issues/1325)
11+
912
### Changed
1013
- Updated dependabot workflow and added CODEOWNERS [#1328](https://github.com/ie3-institute/PowerSystemDataModel/issues/1328)
1114

src/main/java/edu/ie3/datamodel/io/processor/Processor.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import edu.ie3.datamodel.models.input.connector.SwitchInput;
1616
import edu.ie3.datamodel.models.input.system.characteristic.CharacteristicInput;
1717
import edu.ie3.datamodel.models.profile.LoadProfile;
18+
import edu.ie3.datamodel.models.result.CongestionResult;
1819
import edu.ie3.datamodel.models.voltagelevels.VoltageLevel;
1920
import edu.ie3.datamodel.utils.Try;
2021
import edu.ie3.datamodel.utils.Try.*;
@@ -293,6 +294,8 @@ protected String processMethodResult(Object methodReturnObject, Method method, S
293294
"ReactivePowerCharacteristic",
294295
"CharacteristicInput" -> resultStringBuilder.append(
295296
((CharacteristicInput<?, ?>) methodReturnObject).serialize());
297+
case "InputModelType" -> resultStringBuilder.append(
298+
((CongestionResult.InputModelType) methodReturnObject).type);
296299
default -> throw new EntityProcessorException(
297300
"Unable to process value for attribute/field '"
298301
+ fieldName

src/test/groovy/edu/ie3/datamodel/io/processor/result/ResultEntityProcessorTest.groovy

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ package edu.ie3.datamodel.io.processor.result
77

88
import edu.ie3.datamodel.exceptions.EntityProcessorException
99
import edu.ie3.datamodel.models.StandardUnits
10+
import edu.ie3.datamodel.models.result.CongestionResult
1011
import edu.ie3.datamodel.models.result.NodeResult
1112
import edu.ie3.datamodel.models.result.ResultEntity
1213
import edu.ie3.datamodel.models.result.connector.LineResult
@@ -277,6 +278,37 @@ class ResultEntityProcessorTest extends Specification {
277278
validProcessedElement == expectedResults
278279
}
279280

281+
def "A ResultEntityProcessor should serialize a CongestionResult correctly"() {
282+
given:
283+
def resultProcessor = new ResultEntityProcessor(CongestionResult)
284+
285+
def validResult = new CongestionResult(
286+
ZonedDateTime.parse("2020-01-30T17:26:44Z"),
287+
inputModel,
288+
CongestionResult.InputModelType.LINE,
289+
3,
290+
Quantities.getQuantity(110, Units.PERCENT),
291+
Quantities.getQuantity(0, Units.PERCENT),
292+
Quantities.getQuantity(100, Units.PERCENT),
293+
)
294+
295+
def expectedResults = [
296+
inputModel: '22bea5fc-2cb2-4c61-beb9-b476e0107f52',
297+
max : '100.0',
298+
min : '0.0',
299+
subgrid : '3',
300+
time : '2020-01-30T17:26:44Z',
301+
type : 'line',
302+
value : '110.0'
303+
]
304+
305+
when:
306+
def validProcessedElement = resultProcessor.handleEntity(validResult)
307+
308+
then:
309+
validProcessedElement == expectedResults
310+
}
311+
280312
def "A ResultEntityProcessor should throw an EntityProcessorException when it receives an entity result that is not eligible"() {
281313

282314
given:

0 commit comments

Comments
 (0)