From 605861736d6eeeab294130658e094c75bf0b5dc5 Mon Sep 17 00:00:00 2001 From: staudtMarius Date: Mon, 17 Nov 2025 11:04:31 +0100 Subject: [PATCH 1/3] Enhancing input data container with has data methods. --- .../api/data/container/ExtInputContainer.java | 13 +++++++++++++ .../api/data/container/ExtInputContainerTest.groovy | 12 ++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/main/java/edu/ie3/simona/api/data/container/ExtInputContainer.java b/src/main/java/edu/ie3/simona/api/data/container/ExtInputContainer.java index 81f4e05..6c571e4 100644 --- a/src/main/java/edu/ie3/simona/api/data/container/ExtInputContainer.java +++ b/src/main/java/edu/ie3/simona/api/data/container/ExtInputContainer.java @@ -72,6 +72,19 @@ public Optional getMaybeNextTick() { return maybeNextTick; } + /** Returns {@code true} if this container holds primary data. */ + public boolean hasPrimaryData() { + return !primaryData.isEmpty(); + } + + /** Returns {@code true} if this container holds em data. */ + public boolean hasEmData() { + return !flexRequests.isEmpty() + || !flexOptions.isEmpty() + || !setPoints.isEmpty() + || !emMessages.isEmpty(); + } + // add data /** diff --git a/src/test/groovy/edu/ie3/simona/api/data/container/ExtInputContainerTest.groovy b/src/test/groovy/edu/ie3/simona/api/data/container/ExtInputContainerTest.groovy index a75e6a7..d7e5851 100644 --- a/src/test/groovy/edu/ie3/simona/api/data/container/ExtInputContainerTest.groovy +++ b/src/test/groovy/edu/ie3/simona/api/data/container/ExtInputContainerTest.groovy @@ -28,18 +28,30 @@ class ExtInputContainerTest extends Specification { expect: def container1 = new ExtInputContainer(0L) container1.empty + !container1.hasPrimaryData() + !container1.hasEmData() container1.addPrimaryValue(UUID.randomUUID(), null) !container1.empty + container1.hasPrimaryData() + !container1.hasEmData() def container2 = new ExtInputContainer(0L) container2.empty + !container2.hasPrimaryData() + !container2.hasEmData() container2.addFlexComMessage(null) !container2.empty + !container2.hasPrimaryData() + container2.hasEmData() def container3 = new ExtInputContainer(0L) container3.empty + !container3.hasPrimaryData() + !container3.hasEmData() container3.addRequest(UUID.randomUUID()) !container3.empty + !container3.hasPrimaryData() + container3.hasEmData() } def "An ExtInputContainer should add primary data correctly"() { From df2e117b48749c059beca6f60cef830fb51b2b92 Mon Sep 17 00:00:00 2001 From: staudtMarius Date: Mon, 17 Nov 2025 11:06:11 +0100 Subject: [PATCH 2/3] Add CHANGELOG entry. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46c3e4f..f44f45e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Adding some utility methods [#368](https://github.com/ie3-institute/simonaAPI/issues/368) - Extending flex option handling in `ExtInputContainer` [#371](https://github.com/ie3-institute/simonaAPI/issues/371) +- Enhancing `ExtInputContainer` with has data methods [#382](https://github.com/ie3-institute/simonaAPI/issues/382) ### Changed - Changes to sent and received em data [#2366](https://github.com/ie3-institute/simonaAPI/issues/366) From 52d756a1ca6457dc47997283d89b8057409139bc Mon Sep 17 00:00:00 2001 From: staudtMarius Date: Mon, 17 Nov 2025 12:16:33 +0100 Subject: [PATCH 3/3] Include reviewer's comments. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d63ba0..f0da846 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Adding some utility methods [#368](https://github.com/ie3-institute/simonaAPI/issues/368) - Extending flex option handling in `ExtInputContainer` [#371](https://github.com/ie3-institute/simonaAPI/issues/371) -- Enhancing `ExtInputContainer` with has data methods [#382](https://github.com/ie3-institute/simonaAPI/issues/382) +- Enhancing `ExtInputContainer` with `hasData` methods [#382](https://github.com/ie3-institute/simonaAPI/issues/382) ### Changed - Changes to sent and received em data [#2366](https://github.com/ie3-institute/simonaAPI/issues/366)