Skip to content
Merged
Show file tree
Hide file tree
Changes from 55 commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
5bab36a
Bump com.github.ie3-institute:PowerSystemUtils from 2.0 to 2.1
dependabot[bot] Feb 9, 2024
1225754
ISO 8601 ISO_OFFSET_DATE_TIME Format
danielfeismann Feb 13, 2024
113b339
ISO 8601 ISO_OFFSET_DATE_TIME Format
danielfeismann Feb 13, 2024
9ce95bd
Merge branch 'dev' into dependabot/gradle/dev/com.github.ie3-institut…
danielfeismann Feb 22, 2024
f0ac8a5
PowerSystemUtils to 2.2
danielfeismann Feb 22, 2024
8a5dd64
Merge remote-tracking branch 'origin/dev' into dependabot/gradle/dev/…
danielfeismann Feb 22, 2024
4ca2c7e
PowerSystemUtils to version 2.2
danielfeismann Feb 22, 2024
06a08dc
Merge remote-tracking branch 'origin/dependabot/gradle/dev/com.github…
danielfeismann Feb 22, 2024
7eee048
adapt TimeBasedWeatherValueFactory
danielfeismann Feb 22, 2024
57c80c1
adaptions to changes in TimeUtils
danielfeismann Feb 22, 2024
8c243d4
remove deprecated method
danielfeismann Feb 22, 2024
e79c00c
fmt
danielfeismann Feb 22, 2024
6cf4537
Merge remote-tracking branch 'origin/dependabot/gradle/dev/com.github…
danielfeismann Feb 22, 2024
5daaa6b
fmt
danielfeismann Feb 22, 2024
f5a6569
Merge remote-tracking branch 'origin/dependabot/gradle/dev/com.github…
danielfeismann Feb 22, 2024
948b1be
fix IconTimeBasedWeatherValueFactoryTest
danielfeismann Feb 22, 2024
f025aa4
fix ProcessorProviderTest
danielfeismann Feb 22, 2024
969b1e6
fix InputEntityProcessorTest
danielfeismann Feb 22, 2024
081bcec
fix InfluxDbSinkIT
danielfeismann Feb 22, 2024
51aff88
fix CsvEnergyManagementSourceTest
danielfeismann Feb 22, 2024
40ba71e
refactor resources to TimeUtils
danielfeismann Feb 22, 2024
21f90c2
refactor resources to TimeUtils
danielfeismann Feb 22, 2024
97bf3b0
fix CosmoWeatherTestData
danielfeismann Feb 22, 2024
6c3433b
fix IconWeatherTestData
danielfeismann Feb 22, 2024
cce9dca
fix CouchbaseWeatherSourcesIT
danielfeismann Feb 22, 2024
dcfdc12
fix InfluxDbWeatherSourceCosmoIT
danielfeismann Feb 22, 2024
e92faef
fix CosmoTimeBasedWeatherValueFactoryTest
danielfeismann Feb 22, 2024
7182a00
revert change
danielfeismann Feb 23, 2024
96fcbb0
remove deprecated method in FileNamingStrategy
danielfeismann Feb 23, 2024
d09225a
fix TimeBasedSimpleValueFactory
danielfeismann Feb 23, 2024
1f093c7
refactor results resources
danielfeismann Feb 23, 2024
e72060d
refactor TimeSeriesSourceTestData
danielfeismann Feb 23, 2024
5512713
refactor csv inputs
danielfeismann Feb 23, 2024
11bfa14
refactor csv resources
danielfeismann Feb 23, 2024
5baf7cd
preserve utc time
danielfeismann Feb 23, 2024
168d33c
refactor Processor toString method
danielfeismann Feb 23, 2024
c2a1edb
refactor utc times
danielfeismann Feb 23, 2024
275838a
refactor utc times in csv res and inputs
danielfeismann Feb 23, 2024
317a63c
fmt
danielfeismann Feb 23, 2024
216ad9a
default IconTimeBasedWeatherValueFactory
danielfeismann Feb 23, 2024
045a38c
refactor ProcessorProviderTest
danielfeismann Feb 23, 2024
5af6d27
fix TimeBasedWeatherValueFactory
danielfeismann Feb 23, 2024
fc829e4
fix CosmoTimeBasedWeatherValueFactoryTest
danielfeismann Feb 23, 2024
20dae9c
fix InfluxDbWeatherSourceIconIT
danielfeismann Feb 23, 2024
11332cf
fix CsvWeatherSourceCosmoTest
danielfeismann Feb 23, 2024
ee6a40f
fix SqlSources
danielfeismann Feb 23, 2024
4fb37f4
remove default timestamp pattern
danielfeismann Feb 23, 2024
de16622
refactor csvweather input data
danielfeismann Feb 23, 2024
811c33e
Merge remote-tracking branch 'origin/dependabot/gradle/dev/com.github…
danielfeismann Feb 23, 2024
da40a95
fmt
danielfeismann Feb 23, 2024
f9ad977
refactor time zone to zulu
danielfeismann Feb 23, 2024
9a3c3af
fmt
danielfeismann Feb 23, 2024
a547393
add seconds to expected time results
danielfeismann Feb 23, 2024
48c173a
fix testdata
danielfeismann Feb 23, 2024
1d17aef
line_input with tz +00
danielfeismann Feb 23, 2024
06a2731
fix malformed line_input and node_input with tz Z
danielfeismann Feb 26, 2024
6046573
Merge branch 'dev' into dependabot/gradle/dev/com.github.ie3-institut…
danielfeismann Feb 27, 2024
f6f05fc
fmt
danielfeismann Feb 27, 2024
674fd51
fix expected exception message
danielfeismann Feb 27, 2024
2a0491b
Merge branch 'dev' into dependabot/gradle/dev/com.github.ie3-institut…
danielfeismann Feb 27, 2024
609b9fd
Update src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBase…
danielfeismann Feb 28, 2024
1b654d7
use default constructor
danielfeismann Feb 28, 2024
0f362f2
revert Default_Timestamp_Pattern
danielfeismann Feb 28, 2024
0fbd22a
revert Default_Timestamp_Pattern
danielfeismann Feb 28, 2024
b975695
revert Default_Timestamp_Pattern
danielfeismann Feb 28, 2024
480f744
remove unused imports
danielfeismann Feb 28, 2024
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 @@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated contributing.md [#737](https://github.com/ie3-institute/PowerSystemDataModel/issues/737)
- Don't throw exceptions for not yet implemented validations [#879](https://github.com/ie3-institute/PowerSystemDataModel/issues/879)
- `CsvDataSource` throws exceptions on error [#954](https://github.com/ie3-institute/PowerSystemDataModel/issues/954)
- BREAKING: Updating PowerSystemUtils dependency to 2.2 [#1006](https://github.com/ie3-institute/PowerSystemDataModel/issues/1006)

## [4.1.0] - 2023-11-02

Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ repositories {
dependencies {

// ie³ power system utils
implementation 'com.github.ie3-institute:PowerSystemUtils:2.0'
implementation 'com.github.ie3-institute:PowerSystemUtils:2.2'

implementation 'tech.units:indriya:2.2'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import edu.ie3.datamodel.models.result.connector.Transformer2WResult;
import edu.ie3.datamodel.models.result.connector.Transformer3WResult;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import javax.measure.quantity.Angle;
import javax.measure.quantity.ElectricCurrent;
Expand All @@ -37,10 +38,11 @@ public ConnectorResultFactory() {
* Create a new factory to build {@link ConnectorResult}s and utilize the given date time
* formatter pattern to parse date time strings
*
* @param dtfPattern Pattern to parse date time strings
* @param dateTimeFormatter to parse date time strings
*/
public ConnectorResultFactory(String dtfPattern) {
super(dtfPattern, LineResult.class, Transformer2WResult.class, Transformer3WResult.class);
public ConnectorResultFactory(DateTimeFormatter dateTimeFormatter) {
super(
dateTimeFormatter, LineResult.class, Transformer2WResult.class, Transformer3WResult.class);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import edu.ie3.datamodel.models.StandardUnits;
import edu.ie3.datamodel.models.result.system.FlexOptionsResult;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import javax.measure.quantity.Power;
import tech.units.indriya.ComparableQuantity;
Expand All @@ -27,10 +28,10 @@ public FlexOptionsResultFactory() {
* Create a new factory to build {@link FlexOptionsResult}s and utilize the given date time
* formatter pattern to parse date time strings
*
* @param dtfPattern Pattern to parse date time strings
* @param dateTimeFormatter to parse date time strings
*/
public FlexOptionsResultFactory(String dtfPattern) {
super(dtfPattern, FlexOptionsResult.class);
public FlexOptionsResultFactory(DateTimeFormatter dateTimeFormatter) {
super(dateTimeFormatter, FlexOptionsResult.class);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import edu.ie3.datamodel.models.StandardUnits;
import edu.ie3.datamodel.models.result.NodeResult;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import javax.measure.quantity.Angle;
import javax.measure.quantity.Dimensionless;
Expand All @@ -26,10 +27,10 @@ public NodeResultFactory() {
* Create a new factory to build {@link NodeResult}s and utilize the given date time formatter
* pattern to parse date time strings
*
* @param dtfPattern Pattern to parse date time strings
* @param dateTimeFormatter to parse date time strings
*/
public NodeResultFactory(String dtfPattern) {
super(dtfPattern, NodeResult.class);
public NodeResultFactory(DateTimeFormatter dateTimeFormatter) {
super(dateTimeFormatter, NodeResult.class);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
import edu.ie3.datamodel.io.factory.EntityFactory;
import edu.ie3.datamodel.models.result.ResultEntity;
import edu.ie3.util.TimeUtil;
import java.time.ZoneId;
import java.util.Locale;
import java.time.format.DateTimeFormatter;

/**
* Internal API for building {@link ResultEntity}s. This additional abstraction layer is necessary
Expand All @@ -32,8 +31,9 @@ protected ResultEntityFactory(Class<? extends T>... allowedClasses) {
timeUtil = TimeUtil.withDefaults;
}

protected ResultEntityFactory(String dtfPattern, Class<? extends T>... allowedClasses) {
protected ResultEntityFactory(
DateTimeFormatter dateTimeFormatter, Class<? extends T>... allowedClasses) {
super(allowedClasses);
timeUtil = new TimeUtil(ZoneId.of("UTC"), Locale.GERMANY, dtfPattern);
timeUtil = new TimeUtil(dateTimeFormatter);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import edu.ie3.datamodel.io.factory.EntityData;
import edu.ie3.datamodel.models.result.connector.SwitchResult;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;

public class SwitchResultFactory extends ResultEntityFactory<SwitchResult> {
Expand All @@ -22,10 +23,10 @@ public SwitchResultFactory() {
* Create a new factory to build {@link SwitchResult}s and utilize the given date time formatter
* pattern to parse date time strings
*
* @param dtfPattern Pattern to parse date time strings
* @param dateTimeFormatter Pattern to parse date time strings
*/
public SwitchResultFactory(String dtfPattern) {
super(dtfPattern, SwitchResult.class);
public SwitchResultFactory(DateTimeFormatter dateTimeFormatter) {
super(dateTimeFormatter, SwitchResult.class);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import edu.ie3.datamodel.models.UniqueEntity;
import edu.ie3.datamodel.models.result.system.*;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import javax.measure.quantity.Dimensionless;
import javax.measure.quantity.Power;
Expand Down Expand Up @@ -48,11 +49,11 @@ public SystemParticipantResultFactory() {
* Create a new factory to build {@link SystemParticipantResult}s and utilize the given date time
* formatter pattern to parse date time strings
*
* @param dtfPattern Pattern to parse date time strings
* @param dateTimeFormatter to parse date time strings
*/
public SystemParticipantResultFactory(String dtfPattern) {
public SystemParticipantResultFactory(DateTimeFormatter dateTimeFormatter) {
super(
dtfPattern,
dateTimeFormatter,
LoadResult.class,
FixedFeedInResult.class,
BmResult.class,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import edu.ie3.datamodel.models.result.thermal.ThermalHouseResult;
import edu.ie3.datamodel.models.result.thermal.ThermalUnitResult;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import javax.measure.quantity.Dimensionless;
import javax.measure.quantity.Energy;
Expand All @@ -34,10 +35,10 @@ public ThermalResultFactory() {
* Create a new factory to build {@link ThermalResultFactory}s and utilize the given date time
* formatter pattern to parse date time strings
*
* @param dtfPattern Pattern to parse date time strings
* @param dateTimeFormatter parse date time strings
*/
public ThermalResultFactory(String dtfPattern) {
super(dtfPattern, ThermalHouseResult.class, CylindricalStorageResult.class);
public ThermalResultFactory(DateTimeFormatter dateTimeFormatter) {
super(dateTimeFormatter, ThermalHouseResult.class, CylindricalStorageResult.class);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import edu.ie3.util.quantities.PowerSystemUnits;
import edu.ie3.util.quantities.interfaces.Irradiance;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Collections;
import java.util.List;
import java.util.Set;
Expand All @@ -36,8 +37,8 @@ public CosmoTimeBasedWeatherValueFactory(TimeUtil timeUtil) {
super(timeUtil);
}

public CosmoTimeBasedWeatherValueFactory(String timePattern) {
super(timePattern);
public CosmoTimeBasedWeatherValueFactory(DateTimeFormatter dateTimeFormatter) {
super(dateTimeFormatter);
}

public CosmoTimeBasedWeatherValueFactory() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import edu.ie3.util.TimeUtil;
import edu.ie3.util.quantities.PowerSystemUnits;
import edu.ie3.util.quantities.interfaces.Irradiance;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import javax.measure.quantity.Angle;
import javax.measure.quantity.Speed;
Expand All @@ -35,16 +35,16 @@ public class IconTimeBasedWeatherValueFactory extends TimeBasedWeatherValueFacto
private static final String WIND_VELOCITY_U = "u131m";
private static final String WIND_VELOCITY_V = "v131m";

public IconTimeBasedWeatherValueFactory(TimeUtil timeUtil) {
super(timeUtil);
public IconTimeBasedWeatherValueFactory() {
super();
}

public IconTimeBasedWeatherValueFactory(String timePattern) {
super(timePattern);
public IconTimeBasedWeatherValueFactory(TimeUtil timeUtil) {
super(timeUtil);
}

public IconTimeBasedWeatherValueFactory() {
super(new TimeUtil(ZoneId.of("UTC"), Locale.GERMANY, "yyyy-MM-dd HH:mm:ss"));
public IconTimeBasedWeatherValueFactory(DateTimeFormatter dateTimeFormatter) {
super(dateTimeFormatter);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import edu.ie3.datamodel.models.timeseries.individual.TimeBasedValue;
import edu.ie3.datamodel.models.value.*;
import edu.ie3.util.TimeUtil;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;

public class TimeBasedSimpleValueFactory<V extends Value>
Expand All @@ -30,12 +30,14 @@ public class TimeBasedSimpleValueFactory<V extends Value>
private final TimeUtil timeUtil;

public TimeBasedSimpleValueFactory(Class<? extends V> valueClasses) {
this(valueClasses, "yyyy-MM-dd'T'HH:mm:ss[.S[S][S]]'Z'");
super(valueClasses);
this.timeUtil = TimeUtil.withDefaults;
}

public TimeBasedSimpleValueFactory(Class<? extends V> valueClasses, String timePattern) {
public TimeBasedSimpleValueFactory(
Class<? extends V> valueClasses, DateTimeFormatter dateTimeFormatter) {
super(valueClasses);
timeUtil = new TimeUtil(ZoneId.of("UTC"), Locale.GERMANY, timePattern);
this.timeUtil = new TimeUtil(dateTimeFormatter);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@

import edu.ie3.datamodel.models.value.WeatherValue;
import edu.ie3.util.TimeUtil;
import java.time.ZoneId;
import java.util.*;
import java.time.format.DateTimeFormatter;

/**
* Abstract factory to handle the conversion from "flat" field to value mapping onto actual {@link
Expand All @@ -23,11 +22,13 @@ public abstract class TimeBasedWeatherValueFactory
protected final TimeUtil timeUtil;

protected TimeBasedWeatherValueFactory() {
this("yyyy-MM-dd'T'HH:mm:ss[.S[S][S]]'Z'");
super(WeatherValue.class);
this.timeUtil = new TimeUtil(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
}

protected TimeBasedWeatherValueFactory(String timePattern) {
this(new TimeUtil(ZoneId.of("UTC"), Locale.GERMANY, timePattern));
protected TimeBasedWeatherValueFactory(DateTimeFormatter dateTimeFormatter) {
super(WeatherValue.class);
this.timeUtil = new TimeUtil(dateTimeFormatter);
}

protected TimeBasedWeatherValueFactory(TimeUtil timeUtil) {
Expand Down
15 changes: 0 additions & 15 deletions src/main/java/edu/ie3/datamodel/io/naming/FileNamingStrategy.java
Original file line number Diff line number Diff line change
Expand Up @@ -254,21 +254,6 @@ public String getIdCoordinateEntityName() {
return entityPersistenceNamingStrategy.getIdCoordinateEntityName();
}

/**
* Get the full path to the id coordinate file with regard to some (not explicitly specified) base
* directory. The path does NOT start or end with any of the known file separators or file
* extension.
*
* @return An optional sub path to the id coordinate file
* @deprecated unused, no substitute
*/
@Deprecated(since = "3.0", forRemoval = true)
public Optional<Path> getIdCoordinateFilePath() {
// do not adapt orElseGet, see https://www.baeldung.com/java-optional-or-else-vs-or-else-get for
// details
return Optional.of(FileUtils.of(getIdCoordinateEntityName(), fileHierarchy.getBaseDirectory()));
}

/**
* Returns the name of the entity, that should be used for persistence.
*
Expand Down
5 changes: 3 additions & 2 deletions src/main/java/edu/ie3/datamodel/io/processor/Processor.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import edu.ie3.datamodel.models.voltagelevels.VoltageLevel;
import edu.ie3.datamodel.utils.Try;
import edu.ie3.datamodel.utils.Try.*;
import edu.ie3.util.TimeUtil;
import edu.ie3.util.exceptions.QuantityException;
import java.beans.Introspector;
import java.lang.reflect.InvocationTargetException;
Expand Down Expand Up @@ -400,10 +401,10 @@ protected String processOperationTime(OperationTime operationTime, String fieldN
* manually BEFORE calling this method!
*
* @param zonedDateTime representation of the ZonedDateTime
* @return string representation of the ZonedDateTime
* @return ISO 8601 conform string representation of the ZonedDateTime
*/
protected String processZonedDateTime(ZonedDateTime zonedDateTime) {
return zonedDateTime.toString();
return TimeUtil.withDefaults.toString(zonedDateTime);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import edu.ie3.datamodel.utils.Try;
import edu.ie3.datamodel.utils.Try.Failure;
import java.util.*;
import java.util.Set;
import java.util.stream.Stream;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import edu.ie3.datamodel.models.result.thermal.CylindricalStorageResult;
import edu.ie3.datamodel.models.result.thermal.ThermalHouseResult;
import edu.ie3.datamodel.utils.Try;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
Expand Down Expand Up @@ -54,11 +55,11 @@ public ResultEntitySource(DataSource dataSource) {
this.flexOptionsResultFactory = new FlexOptionsResultFactory();
}

public ResultEntitySource(DataSource dataSource, String dtfPattern) {
public ResultEntitySource(DataSource dataSource, DateTimeFormatter dateTimeFormatter) {
super(dataSource);

// init factories
this.systemParticipantResultFactory = new SystemParticipantResultFactory(dtfPattern);
this.systemParticipantResultFactory = new SystemParticipantResultFactory(dateTimeFormatter);
this.thermalResultFactory = new ThermalResultFactory();
this.switchResultFactory = new SwitchResultFactory();
this.nodeResultFactory = new NodeResultFactory();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import edu.ie3.util.interval.ClosedInterval;
import java.time.ZonedDateTime;
import java.util.*;
import java.util.Optional;

/**
* The interface definition of a source, that is able to provide one specific time series for one
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
/** Couchbase Source for weather data */
public class CouchbaseWeatherSource extends WeatherSource {
private static final Logger logger = LoggerFactory.getLogger(CouchbaseWeatherSource.class);
private static final String DEFAULT_TIMESTAMP_PATTERN = "yyyy-MM-dd'T'HH:mm:ssxxx";
/** The start of the document key, comparable to a table name in relational databases */
private static final String DEFAULT_KEY_PREFIX = "weather";

Expand Down
Loading