Skip to content

Commit 19675de

Browse files
Merge pull request #770 from ie3-institute/ms/#758-improving-ValidationUtils
Improving validation utils
2 parents 36b6837 + a66754e commit 19675de

File tree

111 files changed

+2218
-1348
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+2218
-1348
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2222
- Deleted parameter initFiles, set parameter append to false by default [#791](https://github.com/ie3-institute/PowerSystemDataModel/issues/791)
2323
- Use nio paths instead of strings for file path [#723](https://github.com/ie3-institute/PowerSystemDataModel/issues/723)
2424
- Data source will throw an exceptions instead of returning an empty optionals [#707](https://github.com/ie3-institute/PowerSystemDataModel/issues/707)
25+
- Improving `ValidationUtils` [#758](https://github.com/ie3-institute/PowerSystemDataModel/issues/758)
2526

2627

2728
## [3.0.0] - 2023-02-16
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* © 2023. TU Dortmund University,
3+
* Institute of Energy Systems, Energy Efficiency and Energy Economics,
4+
* Research group Distribution grid planning and operation
5+
*/
6+
package edu.ie3.datamodel.exceptions;
7+
8+
import edu.ie3.datamodel.utils.ExceptionUtils;
9+
import java.util.List;
10+
11+
public class FailedValidationException extends ValidationException {
12+
public FailedValidationException(String message, Throwable throwable) {
13+
super(message, throwable);
14+
}
15+
16+
public FailedValidationException(String message) {
17+
super(message);
18+
}
19+
20+
/** @param exceptions List of exceptions, which must not be empty */
21+
public FailedValidationException(List<? extends Exception> exceptions) {
22+
super(
23+
"Validation failed due to: \n" + ExceptionUtils.getMessages(exceptions), exceptions.get(0));
24+
}
25+
}

src/main/java/edu/ie3/datamodel/exceptions/InvalidEntityException.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@ public class InvalidEntityException extends ValidationException {
1313
private static final long serialVersionUID = 809496087520306374L;
1414

1515
public InvalidEntityException(String faultDescription, UniqueEntity invalidEntity) {
16-
super("Entity is invalid because of: " + faultDescription + " [" + invalidEntity + "]");
16+
super("Entity is invalid because of: \n" + faultDescription + " [" + invalidEntity + "]");
1717
}
1818

1919
public InvalidEntityException(
2020
String faultDescription, Throwable cause, UniqueEntity invalidEntity) {
21-
super("Entity is invalid because of: " + faultDescription + " [" + invalidEntity + "]", cause);
21+
super(
22+
"Entity is invalid because of: \n" + faultDescription + " [" + invalidEntity + "]", cause);
2223
}
2324

2425
public InvalidEntityException(String message, Throwable cause) {

src/main/java/edu/ie3/datamodel/exceptions/ValidationException.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66
package edu.ie3.datamodel.exceptions;
77

8-
public abstract class ValidationException extends RuntimeException {
8+
public abstract class ValidationException extends Exception {
99
protected ValidationException(String s) {
1010
super(s);
1111
}

src/main/java/edu/ie3/datamodel/io/source/WeatherSource.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,7 @@ public List<TimeBasedValue<WeatherValue>> buildTimeBasedValues(
119119
return factory.get(data.get());
120120
}),
121121
"TimeBasedValue<WeatherValue>")
122-
.transformF(SourceException::new)
123-
.getOrThrow()
124-
.toList();
122+
.transform(Stream::toList, SourceException::new)
123+
.getOrThrow();
125124
}
126125
}

src/main/java/edu/ie3/datamodel/io/source/csv/CsvIdCoordinateSource.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ private Map<Integer, Point> setupIdToCoordinateMap() throws SourceException {
6767
.map(fieldToValues -> new SimpleFactoryData(fieldToValues, Pair.class))
6868
.map(factory::get),
6969
"Pair<Integer, Point>")
70-
.transformF(SourceException::new)
71-
.getOrThrow()
72-
.collect(Collectors.toMap(Pair::getKey, Pair::getValue));
70+
.transform(
71+
s -> s.collect(Collectors.toMap(Pair::getKey, Pair::getValue)), SourceException::new)
72+
.getOrThrow();
7373
}
7474

7575
/**

src/main/java/edu/ie3/datamodel/io/source/csv/CsvJointGridContainerSource.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
package edu.ie3.datamodel.io.source.csv;
77

88
import edu.ie3.datamodel.exceptions.FileException;
9+
import edu.ie3.datamodel.exceptions.InvalidGridException;
910
import edu.ie3.datamodel.exceptions.SourceException;
1011
import edu.ie3.datamodel.io.naming.DefaultDirectoryHierarchy;
1112
import edu.ie3.datamodel.io.naming.EntityPersistenceNamingStrategy;
@@ -25,7 +26,7 @@ private CsvJointGridContainerSource() {}
2526

2627
public static JointGridContainer read(
2728
String gridName, String csvSep, Path directoryPath, boolean isHierarchic)
28-
throws SourceException, FileException {
29+
throws SourceException, FileException, InvalidGridException {
2930

3031
/* Parameterization */
3132
FileNamingStrategy namingStrategy;

src/main/java/edu/ie3/datamodel/models/UniqueEntity.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public String toString() {
5252
* @version 0.1
5353
* @since 05.06.20
5454
*/
55-
protected abstract static class UniqueEntityCopyBuilder<T extends UniqueEntityBuilder>
55+
public abstract static class UniqueEntityCopyBuilder<B extends UniqueEntityBuilder>
5656
implements UniqueEntityBuilder {
5757

5858
private UUID uuid;
@@ -61,16 +61,16 @@ protected UniqueEntityCopyBuilder(UniqueEntity entity) {
6161
this.uuid = entity.getUuid();
6262
}
6363

64-
public T uuid(UUID uuid) {
64+
public B uuid(UUID uuid) {
6565
this.uuid = uuid;
66-
return childInstance();
66+
return thisInstance();
6767
}
6868

6969
protected UUID getUuid() {
7070
return uuid;
7171
}
7272

73-
protected abstract T childInstance();
73+
protected abstract B thisInstance();
7474
}
7575

7676
protected interface UniqueEntityBuilder {

src/main/java/edu/ie3/datamodel/models/input/AssetInput.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public String getId() {
5858
return id;
5959
}
6060

61-
public abstract UniqueEntityBuilder copy();
61+
public abstract AssetInputCopyBuilder<?> copy();
6262

6363
@Override
6464
public boolean equals(Object o) {
@@ -95,8 +95,8 @@ public String toString() {
9595
* @version 0.1
9696
* @since 05.06.20
9797
*/
98-
protected abstract static class AssetInputCopyBuilder<T extends AssetInputCopyBuilder<T>>
99-
extends UniqueEntityCopyBuilder<T> {
98+
public abstract static class AssetInputCopyBuilder<B extends AssetInputCopyBuilder<B>>
99+
extends UniqueEntityCopyBuilder<B> {
100100

101101
private String id;
102102
private OperatorInput operator;
@@ -109,19 +109,19 @@ protected AssetInputCopyBuilder(AssetInput entity) {
109109
this.operationTime = entity.getOperationTime();
110110
}
111111

112-
public T id(String id) {
112+
public B id(String id) {
113113
this.id = id;
114-
return childInstance();
114+
return thisInstance();
115115
}
116116

117-
public T operator(OperatorInput operator) {
117+
public B operator(OperatorInput operator) {
118118
this.operator = operator;
119-
return childInstance();
119+
return thisInstance();
120120
}
121121

122-
public T operationTime(OperationTime operationTime) {
122+
public B operationTime(OperationTime operationTime) {
123123
this.operationTime = operationTime;
124-
return childInstance();
124+
return thisInstance();
125125
}
126126

127127
protected String getId() {
@@ -140,6 +140,6 @@ protected OperationTime getOperationTime() {
140140
public abstract AssetInput build();
141141

142142
@Override
143-
protected abstract T childInstance();
143+
protected abstract B thisInstance();
144144
}
145145
}

src/main/java/edu/ie3/datamodel/models/input/MeasurementUnitInput.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ public boolean getQ() {
9898
return q;
9999
}
100100

101+
@Override
101102
public MeasurementUnitInputCopyBuilder copy() {
102103
return new MeasurementUnitInputCopyBuilder(this);
103104
}
@@ -206,7 +207,7 @@ public MeasurementUnitInputCopyBuilder q(boolean q) {
206207
}
207208

208209
@Override
209-
protected MeasurementUnitInputCopyBuilder childInstance() {
210+
protected MeasurementUnitInputCopyBuilder thisInstance() {
210211
return this;
211212
}
212213
}

0 commit comments

Comments
 (0)