Skip to content

Commit b49576e

Browse files
committed
Adapt to changes in dev.
1 parent 55a0fb3 commit b49576e

File tree

6 files changed

+23
-31
lines changed

6 files changed

+23
-31
lines changed

src/main/java/edu/ie3/datamodel/io/factory/timeseries/BdewLoadProfileFactory.java

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import edu.ie3.datamodel.models.timeseries.repetitive.BdewLoadProfileTimeSeries;
1616
import edu.ie3.datamodel.models.timeseries.repetitive.LoadProfileEntry;
1717
import edu.ie3.datamodel.models.value.load.BdewLoadValues;
18-
import edu.ie3.util.quantities.PowerSystemUnits;
1918
import java.util.*;
2019
import java.util.function.Function;
2120
import java.util.stream.Stream;
@@ -83,9 +82,11 @@ public BdewLoadProfileTimeSeries build(
8382
LoadProfileMetaInformation metaInformation, Set<LoadProfileEntry<BdewLoadValues>> entries) {
8483

8584
BdewStandardLoadProfile profile = parseProfile(metaInformation.getProfile());
86-
Optional<ComparableQuantity<Power>> maxPower = calculateMaxPower(profile, entries);
85+
ComparableQuantity<Power> maxPower = calculateMaxPower(profile, entries);
86+
ComparableQuantity<Energy> profileEnergyScaling = getLoadProfileEnergyScaling(profile);
8787

88-
return new BdewLoadProfileTimeSeries(metaInformation.getUuid(), profile, entries, maxPower);
88+
return new BdewLoadProfileTimeSeries(
89+
metaInformation.getUuid(), profile, entries, maxPower, profileEnergyScaling);
8990
}
9091

9192
@Override
@@ -98,7 +99,7 @@ public BdewStandardLoadProfile parseProfile(String profile) {
9899
}
99100

100101
@Override
101-
public Optional<ComparableQuantity<Power>> calculateMaxPower(
102+
public ComparableQuantity<Power> calculateMaxPower(
102103
BdewStandardLoadProfile loadProfile, Set<LoadProfileEntry<BdewLoadValues>> entries) {
103104
Function<BdewLoadValues, Stream<Double>> valueExtractor;
104105

@@ -112,16 +113,14 @@ public Optional<ComparableQuantity<Power>> calculateMaxPower(
112113
} else {
113114
valueExtractor = v -> v.values().stream();
114115
}
115-
return entries.stream()
116-
.map(TimeSeriesEntry::getValue)
117-
.flatMap(valueExtractor)
118-
.max(Comparator.naturalOrder())
119-
.map(p -> Quantities.getQuantity(p, WATT));
120-
}
121116

122-
@Override
123-
public Optional<ComparableQuantity<Energy>> getLoadProfileEnergyScaling(
124-
BdewStandardLoadProfile loadProfile) {
125-
return Optional.of(Quantities.getQuantity(1000d, PowerSystemUnits.KILOWATTHOUR));
117+
double maxPower =
118+
entries.stream()
119+
.map(TimeSeriesEntry::getValue)
120+
.flatMap(valueExtractor)
121+
.max(Comparator.naturalOrder())
122+
.orElse(0d);
123+
124+
return Quantities.getQuantity(maxPower, WATT);
126125
}
127126
}

src/main/java/edu/ie3/datamodel/io/factory/timeseries/LoadProfileFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@ public String getTimeFieldString() {
5555

5656
/** Returns the load profile energy scaling. The default value is 1000 kWh */
5757
public ComparableQuantity<Energy> getLoadProfileEnergyScaling(P loadProfile) {
58-
return Quantities.getQuantity(1000, PowerSystemUnits.KILOWATTHOUR);
58+
return Quantities.getQuantity(1000d, PowerSystemUnits.KILOWATTHOUR);
5959
}
6060
}

src/main/java/edu/ie3/datamodel/models/timeseries/repetitive/BdewLoadProfileTimeSeries.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,12 @@
77

88
import edu.ie3.datamodel.models.profile.BdewStandardLoadProfile;
99
import edu.ie3.datamodel.models.value.load.BdewLoadValues;
10-
import edu.ie3.util.quantities.PowerSystemUnits;
1110
import java.util.Objects;
12-
import java.util.Optional;
1311
import java.util.Set;
1412
import java.util.UUID;
13+
import javax.measure.quantity.Energy;
1514
import javax.measure.quantity.Power;
1615
import tech.units.indriya.ComparableQuantity;
17-
import tech.units.indriya.quantity.Quantities;
1816

1917
/**
2018
* Describes a bdew load profile time series with repetitive values that can be calculated from a
@@ -26,13 +24,9 @@ public BdewLoadProfileTimeSeries(
2624
UUID uuid,
2725
BdewStandardLoadProfile loadProfile,
2826
Set<LoadProfileEntry<BdewLoadValues>> values,
29-
Optional<ComparableQuantity<Power>> maxPower) {
30-
super(
31-
uuid,
32-
loadProfile,
33-
values,
34-
maxPower,
35-
Optional.of(Quantities.getQuantity(1000d, PowerSystemUnits.KILOWATTHOUR)));
27+
ComparableQuantity<Power> maxPower,
28+
ComparableQuantity<Energy> profileEnergyScaling) {
29+
super(uuid, loadProfile, values, maxPower, profileEnergyScaling);
3630
}
3731

3832
@Override

src/test/groovy/edu/ie3/datamodel/io/factory/timeseries/BdewLoadProfileFactoryTest.groovy

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -148,16 +148,14 @@ class BdewLoadProfileFactoryTest extends Specification {
148148
def maxPower = factory.calculateMaxPower(BdewStandardLoadProfile.G0, allEntries)
149149

150150
then:
151-
maxPower.isPresent()
152-
maxPower.get() == Quantities.getQuantity(77.7, PowerSystemUnits.WATT)
151+
maxPower == Quantities.getQuantity(77.7, PowerSystemUnits.WATT)
153152
}
154153

155154
def "A BDEWLoadProfileFactory does return an energy scaling correctly"() {
156155
when:
157156
def energyScaling = factory.getLoadProfileEnergyScaling(BdewStandardLoadProfile.G0)
158157

159158
then:
160-
energyScaling.isPresent()
161-
energyScaling.get() == Quantities.getQuantity(1000d, PowerSystemUnits.KILOWATTHOUR)
159+
energyScaling == Quantities.getQuantity(1000d, PowerSystemUnits.KILOWATTHOUR)
162160
}
163161
}

src/test/groovy/edu/ie3/datamodel/io/processor/timeseries/TimeSeriesProcessorTest.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ class TimeSeriesProcessorTest extends Specification implements TimeSeriesTestDat
213213

214214
def "A TimeSeriesProcessors handles a complete LoadProfileTimeSeries correctly"() {
215215
given:
216-
TimeSeriesProcessor<BdewLoadProfileTimeSeries, LoadProfileEntry, BdewLoadValues> processor = new TimeSeriesProcessor<>(BdewLoadProfileTimeSeries, LoadProfileEntry, BdewLoadValues)
216+
TimeSeriesProcessor<BdewLoadProfileTimeSeries, LoadProfileEntry, BdewLoadValues, PValue> processor = new TimeSeriesProcessor<>(BdewLoadProfileTimeSeries, LoadProfileEntry, BdewLoadValues)
217217

218218
when:
219219
Set<Map<String, String>> actual = processor.handleTimeSeries(loadProfileTimeSeries)

src/test/groovy/edu/ie3/test/common/TimeSeriesTestData.groovy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,8 @@ trait TimeSeriesTestData {
414414
new BdewLoadValues(53.5, 44.3, 46.0, 62.8, 56.9, 54.4, 69.2, 63.6, 58.4), 2
415415
),
416416
] as Set,
417-
Optional.empty()
417+
Quantities.getQuantity(80.6, WATT),
418+
Quantities.getQuantity(1000d, KILOWATTHOUR)
418419
)
419420

420421
Set<LinkedHashMap<String, String>> loadProfileTimeSeriesProcessed = [

0 commit comments

Comments
 (0)