diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cbd602ec..517fd7da5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased/Snapshot] +### Fixed +- Reduced code smells [#492](https://github.com/ie3-institute/PowerSystemDataModel/issues/492) + - Protected constructors for abstract classes + - Use pattern matching + - Remove unused imports + - Use enhanced switch statements + - Replace lambdas with method references + - Use `Stream#toList` + - Adapt visibility for JUnit 5 +- Fix JavaDoc creation + - Create JavaDoc with java 17 instead of java 8 + - Let JavDoc pass, if there are warnings **ATTENTION:** Should be removed, when JavaDoc is fixed! (cf. Issue [#494](https://github.com/ie3-institute/PowerSystemDataModel/issues/494)) + ## [2.1.0] - 2022-01-05 ### Added diff --git a/Jenkinsfile b/Jenkinsfile index 69e19dd39..33e1753f1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -119,8 +119,7 @@ node { gradle('--refresh-dependencies clean spotlessCheck pmdMain pmdTest spotbugsMain ' + 'spotbugsTest test jacocoTestReport jacocoTestCoverageVerification', projectName) - // due to an issue with openjdk-8 we use openjdk-11 for javadocs generation - sh(script: """set +x && cd $projectName""" + ''' set +x; ./gradlew clean javadoc -Dorg.gradle.java.home=/opt/java/openjdk''', returnStdout: true) + sh(script: """set +x && cd $projectName""" + ''' set +x; ./gradlew clean javadoc''', returnStdout: true) } // sonarqube analysis @@ -159,13 +158,11 @@ node { ]) { /* - * There is a known bug in JavaDoc generation in JDK 8. Therefore generate the JavaDoc with JDK - * 11 first and do the rest of the tasks with JDK 8. IMPORTANT: Do not issue 'clean' in the - * following task + * IMPORTANT: Do not issue 'clean' in the following task */ sh( script: """set +x && cd $projectName""" + - ''' set +x; ./gradlew clean javadoc -Dorg.gradle.java.home=/opt/java/openjdk''', + ''' set +x; ./gradlew clean javadoc''', returnStdout: true ) @@ -395,7 +392,7 @@ def deployJavaDocs(String projectName, String sshCredentialsId, String gitChecko "git config user.name 'Johannes Hiry' && " + "git fetch --depth=1 origin api-docs && " + "git checkout api-docs && " + - "cd .. && ./gradlew clean javadoc -Dorg.gradle.java.home=/opt/java/openjdk && " + + "cd .. && ./gradlew clean javadoc && " + "cp -R build/docs/javadoc/* tmp-api-docs && " + "cd tmp-api-docs &&" + "git add --all && git commit -m 'updated api-docs' && git push origin api-docs:api-docs" + diff --git a/build.gradle b/build.gradle index 8b6a321d0..528cdc81b 100644 --- a/build.gradle +++ b/build.gradle @@ -106,6 +106,7 @@ tasks.withType(JavaCompile) { tasks.withType(Javadoc){ options.encoding = 'UTF-8' + failOnError = false // TODO: Temp until JavaDoc issues are resolved } task printVersion { diff --git a/gradle/scripts/spotless.gradle b/gradle/scripts/spotless.gradle index 91a3bc3a2..7205fba1a 100644 --- a/gradle/scripts/spotless.gradle +++ b/gradle/scripts/spotless.gradle @@ -33,7 +33,7 @@ spotless { // removes unnecessary whitespace, indents with tabs and ends on new line for gradle, md and gitignore files and config-XMLs format 'misc', { - target '**/*.md', '**/.gitignore', 'configs/**' + target '**/.gitignore', 'configs/**' trimTrailingWhitespace() indentWithTabs() endWithNewline() diff --git a/src/main/java/edu/ie3/datamodel/exceptions/ValidationException.java b/src/main/java/edu/ie3/datamodel/exceptions/ValidationException.java index 409c0424e..080602f9c 100644 --- a/src/main/java/edu/ie3/datamodel/exceptions/ValidationException.java +++ b/src/main/java/edu/ie3/datamodel/exceptions/ValidationException.java @@ -6,11 +6,11 @@ package edu.ie3.datamodel.exceptions; public abstract class ValidationException extends RuntimeException { - public ValidationException(String s) { + protected ValidationException(String s) { super(s); } - public ValidationException(String s, Throwable throwable) { + protected ValidationException(String s, Throwable throwable) { super(s, throwable); } } diff --git a/src/main/java/edu/ie3/datamodel/io/connectors/CouchbaseConnector.java b/src/main/java/edu/ie3/datamodel/io/connectors/CouchbaseConnector.java index c856185c5..196a3beef 100644 --- a/src/main/java/edu/ie3/datamodel/io/connectors/CouchbaseConnector.java +++ b/src/main/java/edu/ie3/datamodel/io/connectors/CouchbaseConnector.java @@ -14,7 +14,6 @@ import com.couchbase.client.java.query.QueryResult; import java.util.List; import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; /** * Implements a DataConnector for Couchbase. Couchbase is a JSON document based database.
@@ -115,7 +114,7 @@ public CompletableFuture query(String query) { */ public List> bulkGet(List keys) { final Collection session = getSession(); - return keys.stream().map(key -> session.async().get(key)).collect(Collectors.toList()); + return keys.stream().map(key -> session.async().get(key)).toList(); } /** diff --git a/src/main/java/edu/ie3/datamodel/io/csv/FileNameMetaInformation.java b/src/main/java/edu/ie3/datamodel/io/csv/FileNameMetaInformation.java index f31b1a352..f9ab35d46 100644 --- a/src/main/java/edu/ie3/datamodel/io/csv/FileNameMetaInformation.java +++ b/src/main/java/edu/ie3/datamodel/io/csv/FileNameMetaInformation.java @@ -12,7 +12,7 @@ public abstract class FileNameMetaInformation { private final UUID uuid; - public FileNameMetaInformation(UUID uuid) { + protected FileNameMetaInformation(UUID uuid) { this.uuid = uuid; } @@ -23,8 +23,7 @@ public UUID getUuid() { @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof FileNameMetaInformation)) return false; - FileNameMetaInformation that = (FileNameMetaInformation) o; + if (!(o instanceof FileNameMetaInformation that)) return false; return uuid.equals(that.uuid); } diff --git a/src/main/java/edu/ie3/datamodel/io/extractor/Extractor.java b/src/main/java/edu/ie3/datamodel/io/extractor/Extractor.java index 6c1420d7c..d9fbc89da 100644 --- a/src/main/java/edu/ie3/datamodel/io/extractor/Extractor.java +++ b/src/main/java/edu/ie3/datamodel/io/extractor/Extractor.java @@ -33,23 +33,23 @@ private Extractor() { public static Set extractElements(NestedEntity nestedEntity) throws ExtractorException { CopyOnWriteArrayList resultingList = new CopyOnWriteArrayList<>(); - if (nestedEntity instanceof HasNodes) { - resultingList.addAll(((HasNodes) nestedEntity).allNodes()); + if (nestedEntity instanceof HasNodes nestedHasNode) { + resultingList.addAll((nestedHasNode).allNodes()); } - if (nestedEntity instanceof Operable) { - extractOperator((Operable) nestedEntity).ifPresent(resultingList::add); + if (nestedEntity instanceof Operable nestedOperable) { + extractOperator(nestedOperable).ifPresent(resultingList::add); } - if (nestedEntity instanceof HasType) { - resultingList.add(extractType((HasType) nestedEntity)); + if (nestedEntity instanceof HasType nestedHasType) { + resultingList.add(extractType(nestedHasType)); } - if (nestedEntity instanceof HasThermalBus) { - resultingList.add(((HasThermalBus) nestedEntity).getThermalBus()); + if (nestedEntity instanceof HasThermalBus nestedHasThermalBus) { + resultingList.add((nestedHasThermalBus).getThermalBus()); } - if (nestedEntity instanceof HasThermalStorage) { - resultingList.add(((HasThermalStorage) nestedEntity).getThermalStorage()); + if (nestedEntity instanceof HasThermalStorage nestedHasThermalStorage) { + resultingList.add((nestedHasThermalStorage).getThermalStorage()); } - if (nestedEntity instanceof HasLine) { - resultingList.add(((HasLine) nestedEntity).getLine()); + if (nestedEntity instanceof HasLine nestedHasLine) { + resultingList.add((nestedHasLine).getLine()); } if (resultingList.contains(null)) { @@ -72,9 +72,9 @@ public static Set extractElements(NestedEntity nestedEntity) .parallel() .forEach( element -> { - if (element instanceof NestedEntity) { + if (element instanceof NestedEntity nestedElement) { try { - resultingList.addAll(extractElements((NestedEntity) element)); + resultingList.addAll(extractElements(nestedElement)); } catch (ExtractorException e) { log.error( "An error occurred during extraction of nested entity '{}':{}", @@ -84,7 +84,7 @@ public static Set extractElements(NestedEntity nestedEntity) } }); - return Collections.unmodifiableSet(new HashSet<>(resultingList)); + return Set.copyOf(resultingList); } public static AssetTypeInput extractType(HasType entityWithType) { diff --git a/src/main/java/edu/ie3/datamodel/io/factory/EntityData.java b/src/main/java/edu/ie3/datamodel/io/factory/EntityData.java index 2ce76ef23..c958a2d9b 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/EntityData.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/EntityData.java @@ -97,7 +97,7 @@ private Optional getGeometry(String field) { public Optional getLineString(String field) { Optional geom = getGeometry(field); if (geom.isPresent()) { - if (geom.get() instanceof LineString) return Optional.of((LineString) geom.get()); + if (geom.get() instanceof LineString lineString) return Optional.of(lineString); else throw new FactoryException( "Geometry is of type " @@ -116,7 +116,7 @@ public Optional getLineString(String field) { public Optional getPoint(String field) { Optional geom = getGeometry(field); if (geom.isPresent()) { - if (geom.get() instanceof Point) return Optional.of((Point) geom.get()); + if (geom.get() instanceof Point point) return Optional.of(point); else throw new FactoryException( "Geometry is of type " diff --git a/src/main/java/edu/ie3/datamodel/io/factory/EntityFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/EntityFactory.java index 53b32cf0d..e36740192 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/EntityFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/EntityFactory.java @@ -6,7 +6,6 @@ package edu.ie3.datamodel.io.factory; import edu.ie3.datamodel.models.UniqueEntity; -import java.util.*; /** * Universal factory class for creating entities with {@link EntityData} data objects. @@ -24,7 +23,7 @@ public abstract class EntityFactory... allowedClasses) { + protected EntityFactory(Class... allowedClasses) { super(allowedClasses); } } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/Factory.java b/src/main/java/edu/ie3/datamodel/io/factory/Factory.java index d62e8bee7..8a64f0ea7 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/Factory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/Factory.java @@ -26,7 +26,7 @@ public abstract class Factory { private final List> supportedClasses; - public Factory(Class... supportedClasses) { + protected Factory(Class... supportedClasses) { this.supportedClasses = Arrays.asList(supportedClasses); } @@ -47,7 +47,7 @@ public Optional get(D data) { // magic: case-insensitive get/set calls on set strings final List> allFields = getFields(data); - validateParameters(data, allFields.stream().toArray((IntFunction[]>) Set[]::new)); + validateParameters(data, allFields.toArray((IntFunction[]>) Set[]::new)); try { // build the model @@ -116,9 +116,7 @@ protected int validateParameters(D data, Set... fieldSets) { // get all sets that match the fields to attributes List> validFieldSets = - Arrays.stream(fieldSets) - .filter(x -> x.equals(fieldsToValues.keySet())) - .collect(Collectors.toList()); + Arrays.stream(fieldSets).filter(x -> x.equals(fieldsToValues.keySet())).toList(); if (validFieldSets.size() == 1) { // if we can identify a unique parameter set for a constructor, we take it and return the diff --git a/src/main/java/edu/ie3/datamodel/io/factory/SimpleEntityFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/SimpleEntityFactory.java index 68a4d6b3d..a420212c2 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/SimpleEntityFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/SimpleEntityFactory.java @@ -17,7 +17,7 @@ public abstract class SimpleEntityFactory extends EntityFactory { - public SimpleEntityFactory(Class... allowedClasses) { + protected SimpleEntityFactory(Class... allowedClasses) { super(allowedClasses); } } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/input/AssetInputEntityFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/input/AssetInputEntityFactory.java index 8f7423410..0da292f37 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/input/AssetInputEntityFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/input/AssetInputEntityFactory.java @@ -29,7 +29,7 @@ public abstract class AssetInputEntityFactory... allowedClasses) { + protected AssetInputEntityFactory(Class... allowedClasses) { super(allowedClasses); } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/input/ConnectorInputEntityFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/input/ConnectorInputEntityFactory.java index 2f7040014..4ef83352e 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/input/ConnectorInputEntityFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/input/ConnectorInputEntityFactory.java @@ -31,7 +31,7 @@ abstract class ConnectorInputEntityFactory< */ protected static final String PARALLEL_DEVICES = "paralleldevices"; - public ConnectorInputEntityFactory(Class... allowedClasses) { + protected ConnectorInputEntityFactory(Class... allowedClasses) { super(allowedClasses); } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/input/graphics/GraphicInputFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/input/graphics/GraphicInputFactory.java index bfc699b8f..4dfb98676 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/input/graphics/GraphicInputFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/input/graphics/GraphicInputFactory.java @@ -26,7 +26,7 @@ public abstract class GraphicInputFactory... allowedClasses) { + protected GraphicInputFactory(Class... allowedClasses) { super(allowedClasses); } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/input/participant/HpInputEntityData.java b/src/main/java/edu/ie3/datamodel/io/factory/input/participant/HpInputEntityData.java index 3b8e2cc50..38eacea63 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/input/participant/HpInputEntityData.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/input/participant/HpInputEntityData.java @@ -11,6 +11,7 @@ import edu.ie3.datamodel.models.input.system.type.HpTypeInput; import edu.ie3.datamodel.models.input.thermal.ThermalBusInput; import java.util.Map; +import java.util.Objects; public class HpInputEntityData extends SystemParticipantTypedEntityData { private final ThermalBusInput thermalBusInput; @@ -38,6 +39,19 @@ public ThermalBusInput getThermalBusInput() { return thermalBusInput; } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof HpInputEntityData that)) return false; + if (!super.equals(o)) return false; + return thermalBusInput.equals(that.thermalBusInput); + } + + @Override + public int hashCode() { + return Objects.hash(super.hashCode(), thermalBusInput); + } + @Override public String toString() { return "HpInputEntityData{" diff --git a/src/main/java/edu/ie3/datamodel/io/factory/input/participant/SystemParticipantInputEntityFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/input/participant/SystemParticipantInputEntityFactory.java index 736f03a57..212f9db96 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/input/participant/SystemParticipantInputEntityFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/input/participant/SystemParticipantInputEntityFactory.java @@ -32,7 +32,7 @@ abstract class SystemParticipantInputEntityFactory< private static final String Q_CHARACTERISTICS = "qcharacteristics"; - public SystemParticipantInputEntityFactory(Class... allowedClasses) { + protected SystemParticipantInputEntityFactory(Class... allowedClasses) { super(allowedClasses); } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/result/ResultEntityFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/result/ResultEntityFactory.java index 9af9e2501..15a815511 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/result/ResultEntityFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/result/ResultEntityFactory.java @@ -26,12 +26,12 @@ abstract class ResultEntityFactory extends SimpleEntityF protected final TimeUtil timeUtil; - public ResultEntityFactory(Class... allowedClasses) { + protected ResultEntityFactory(Class... allowedClasses) { super(allowedClasses); timeUtil = TimeUtil.withDefaults; } - public ResultEntityFactory(String dtfPattern, Class... allowedClasses) { + protected ResultEntityFactory(String dtfPattern, Class... allowedClasses) { super(allowedClasses); timeUtil = new TimeUtil(ZoneId.of("UTC"), Locale.GERMANY, dtfPattern); } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/timeseries/PsdmTimeBasedWeatherValueFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/timeseries/PsdmTimeBasedWeatherValueFactory.java index 34b571550..f9ddd6af1 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/timeseries/PsdmTimeBasedWeatherValueFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/timeseries/PsdmTimeBasedWeatherValueFactory.java @@ -5,8 +5,6 @@ */ package edu.ie3.datamodel.io.factory.timeseries; -import static edu.ie3.datamodel.io.factory.timeseries.TimeBasedSimpleValueFactory.*; - import edu.ie3.datamodel.models.StandardUnits; import edu.ie3.datamodel.models.timeseries.individual.TimeBasedValue; import edu.ie3.datamodel.models.value.WeatherValue; diff --git a/src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBasedValueData.java b/src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBasedValueData.java index 747b24641..872794aea 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBasedValueData.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBasedValueData.java @@ -23,7 +23,7 @@ public abstract class TimeBasedValueData extends FactoryData { * @param fieldsToAttributes attribute map: field name to value * @param valueClass Class of the underlying value */ - public TimeBasedValueData(Map fieldsToAttributes, Class valueClass) { + protected TimeBasedValueData(Map fieldsToAttributes, Class valueClass) { super(fieldsToAttributes, valueClass); } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBasedValueFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBasedValueFactory.java index 46f963445..8acebdf05 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBasedValueFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/timeseries/TimeBasedValueFactory.java @@ -17,7 +17,7 @@ */ public abstract class TimeBasedValueFactory, V extends Value> extends Factory> { - public TimeBasedValueFactory(Class... valueClasses) { + protected TimeBasedValueFactory(Class... valueClasses) { super(valueClasses); } } diff --git a/src/main/java/edu/ie3/datamodel/io/factory/typeinput/AssetTypeInputEntityFactory.java b/src/main/java/edu/ie3/datamodel/io/factory/typeinput/AssetTypeInputEntityFactory.java index e8d761f80..13de960ee 100644 --- a/src/main/java/edu/ie3/datamodel/io/factory/typeinput/AssetTypeInputEntityFactory.java +++ b/src/main/java/edu/ie3/datamodel/io/factory/typeinput/AssetTypeInputEntityFactory.java @@ -22,7 +22,7 @@ abstract class AssetTypeInputEntityFactory protected static final String ENTITY_UUID = "uuid"; protected static final String ENTITY_ID = "id"; - public AssetTypeInputEntityFactory(Class... allowedClasses) { + protected AssetTypeInputEntityFactory(Class... allowedClasses) { super(allowedClasses); } } diff --git a/src/main/java/edu/ie3/datamodel/io/naming/DefaultDirectoryHierarchy.java b/src/main/java/edu/ie3/datamodel/io/naming/DefaultDirectoryHierarchy.java index 76e0ed844..f2eab42ad 100644 --- a/src/main/java/edu/ie3/datamodel/io/naming/DefaultDirectoryHierarchy.java +++ b/src/main/java/edu/ie3/datamodel/io/naming/DefaultDirectoryHierarchy.java @@ -147,7 +147,7 @@ private void checkExpectedDirectories() throws FileException { */ private void checkFurtherDirectoryElements() throws FileException { try (Stream apparentElementsStream = Files.list(projectDirectory)) { - for (Path apparentPath : apparentElementsStream.collect(Collectors.toList())) { + for (Path apparentPath : apparentElementsStream.toList()) { if (Files.isDirectory(apparentPath) && !subDirectories.containsKey(apparentPath) && apparentPath.compareTo(inputTree) != 0 @@ -219,7 +219,7 @@ public Optional getSubDirectory(Class cls, Strin .anyMatch(definedClass -> definedClass.isAssignableFrom(cls))) .findFirst(); - if (!maybeSubDirectory.isPresent()) { + if (maybeSubDirectory.isEmpty()) { logger.debug("Don't know a fitting sub directory for class '{}'.", cls.getSimpleName()); return Optional.empty(); } else { diff --git a/src/main/java/edu/ie3/datamodel/io/naming/EntityPersistenceNamingStrategy.java b/src/main/java/edu/ie3/datamodel/io/naming/EntityPersistenceNamingStrategy.java index 785164352..a80459aae 100644 --- a/src/main/java/edu/ie3/datamodel/io/naming/EntityPersistenceNamingStrategy.java +++ b/src/main/java/edu/ie3/datamodel/io/naming/EntityPersistenceNamingStrategy.java @@ -336,8 +336,7 @@ Optional getEntityName(T timeSeries) { logger.error("Unable to determine content of time series {}", timeSeries); return Optional.empty(); } - } else if (timeSeries instanceof LoadProfileInput) { - LoadProfileInput loadProfileInput = (LoadProfileInput) timeSeries; + } else if (timeSeries instanceof LoadProfileInput loadProfileInput) { return Optional.of( prefix .concat("lpts") diff --git a/src/main/java/edu/ie3/datamodel/io/processor/EntityProcessor.java b/src/main/java/edu/ie3/datamodel/io/processor/EntityProcessor.java index e0958dc57..f8ef4bc56 100644 --- a/src/main/java/edu/ie3/datamodel/io/processor/EntityProcessor.java +++ b/src/main/java/edu/ie3/datamodel/io/processor/EntityProcessor.java @@ -37,7 +37,7 @@ public abstract class EntityProcessor extends Processor< * * @param registeredClass the class the entity processor should be able to handle */ - public EntityProcessor(Class registeredClass) { + protected EntityProcessor(Class registeredClass) { super(registeredClass); this.fieldNameToMethod = mapFieldNameToGetter(registeredClass, Collections.singleton(NODE_INTERNAL)); @@ -75,31 +75,18 @@ protected Optional handleProcessorSpecificQuantity( Quantity quantity, String fieldName) { Optional normalizedQuantityValue = Optional.empty(); switch (fieldName) { - case "energy": - case "eConsAnnual": - case "eStorage": - normalizedQuantityValue = - quantityValToOptionalString(quantity.asType(Energy.class).to(StandardUnits.ENERGY_IN)); - break; - case "q": - normalizedQuantityValue = - quantityValToOptionalString( - quantity.asType(Power.class).to(StandardUnits.REACTIVE_POWER_IN)); - break; - case "p": - case "pMax": - case "pOwn": - case "pThermal": - normalizedQuantityValue = - quantityValToOptionalString( - quantity.asType(Power.class).to(StandardUnits.ACTIVE_POWER_IN)); - break; - default: - log.error( - "Cannot process quantity with value '{}' for field with name {} in input entity processing!", - quantity, - fieldName); - break; + case "energy", "eConsAnnual", "eStorage" -> normalizedQuantityValue = + quantityValToOptionalString(quantity.asType(Energy.class).to(StandardUnits.ENERGY_IN)); + case "q" -> normalizedQuantityValue = + quantityValToOptionalString( + quantity.asType(Power.class).to(StandardUnits.REACTIVE_POWER_IN)); + case "p", "pMax", "pOwn", "pThermal" -> normalizedQuantityValue = + quantityValToOptionalString( + quantity.asType(Power.class).to(StandardUnits.ACTIVE_POWER_IN)); + default -> log.error( + "Cannot process quantity with value '{}' for field with name {} in input entity processing!", + quantity, + fieldName); } return normalizedQuantityValue; } diff --git a/src/main/java/edu/ie3/datamodel/io/processor/Processor.java b/src/main/java/edu/ie3/datamodel/io/processor/Processor.java index 018bb9410..6fa966af9 100644 --- a/src/main/java/edu/ie3/datamodel/io/processor/Processor.java +++ b/src/main/java/edu/ie3/datamodel/io/processor/Processor.java @@ -205,102 +205,84 @@ protected String processMethodResult(Object methodReturnObject, Method method, S switch (method.getReturnType().getSimpleName()) { // primitives (Boolean, Character, Byte, Short, Integer, Long, Float, Double, String, - case "UUID": - case "boolean": - case "int": - case "double": - case "String": - case "DayOfWeek": - case "ChargingPointType": - case "EvcsLocationType": - resultStringBuilder.append(methodReturnObject.toString()); - break; - case "Quantity": - case "ComparableQuantity": - resultStringBuilder.append(handleQuantity((Quantity) methodReturnObject, fieldName)); - break; - case "Optional": - // only quantity optionals are expected here! - // if optional and present, unpack value and call this method again, if not present return - // an empty string as by convention null == missing value == "" when persisting data - resultStringBuilder.append( - ((Optional) methodReturnObject) - .map( - o -> { - if (o instanceof Quantity) { - return handleQuantity((Quantity) o, fieldName); - } else { - throw new EntityProcessorException( - "Handling of " - + o.getClass().getSimpleName() - + ".class instance wrapped into Optional is currently not supported by entity processors!"); - } - }) - .orElse("")); - break; - case "ZonedDateTime": - resultStringBuilder.append(processZonedDateTime((ZonedDateTime) methodReturnObject)); - break; - case "OperationTime": - resultStringBuilder.append( - processOperationTime((OperationTime) methodReturnObject, fieldName)); - break; - case "VoltageLevel": - resultStringBuilder.append( - processVoltageLevel((VoltageLevel) methodReturnObject, fieldName)); - break; - case "Point": - case "LineString": - resultStringBuilder.append(geoJsonWriter.write((Geometry) methodReturnObject)); - break; - case "StandardLoadProfile": - resultStringBuilder.append(((StandardLoadProfile) methodReturnObject).getKey()); - break; - case "AssetTypeInput": - case "BmTypeInput": - case "ChpTypeInput": - case "EvTypeInput": - case "HpTypeInput": - case "LineTypeInput": - case "LineInput": - case "NodeInput": - case "StorageTypeInput": - case "SystemParticipantInput": - case "ThermalBusInput": - case "ThermalStorageInput": - case "TimeSeries": - case "Transformer2WTypeInput": - case "Transformer3WTypeInput": - case "WecTypeInput": - resultStringBuilder.append(((UniqueEntity) methodReturnObject).getUuid()); - break; - case "OperatorInput": - resultStringBuilder.append( - ((OperatorInput) methodReturnObject).getId().equalsIgnoreCase("NO_OPERATOR_ASSIGNED") - ? "" - : ((OperatorInput) methodReturnObject).getUuid()); - break; - case "EvCharacteristicInput": - case "OlmCharacteristicInput": - case "WecCharacteristicInput": - case "CosPhiFixed": - case "CosPhiP": - case "QV": - case "ReactivePowerCharacteristic": - case "CharacteristicInput": - resultStringBuilder.append(((CharacteristicInput) methodReturnObject).deSerialize()); - break; - default: - throw new EntityProcessorException( - "Unable to process value for attribute/field '" - + fieldName - + "' and method return type '" - + method.getReturnType().getSimpleName() - + "' for method with name '" - + method.getName() - + "' in in entity model " - + getRegisteredClass().getSimpleName() - + ".class."); + case "UUID", + "boolean", + "int", + "double", + "String", + "DayOfWeek", + "ChargingPointType", + "EvcsLocationType" -> resultStringBuilder.append(methodReturnObject.toString()); + case "Quantity", "ComparableQuantity" -> resultStringBuilder.append( + handleQuantity((Quantity) methodReturnObject, fieldName)); + case "Optional" -> + // only quantity optionals are expected here! + // if optional and present, unpack value and call this method again, if not present return + // an empty string as by convention null == missing value == "" when persisting data + resultStringBuilder.append( + ((Optional) methodReturnObject) + .map( + o -> { + if (o instanceof Quantity) { + return handleQuantity((Quantity) o, fieldName); + } else { + throw new EntityProcessorException( + "Handling of " + + o.getClass().getSimpleName() + + ".class instance wrapped into Optional is currently not supported by entity processors!"); + } + }) + .orElse("")); + case "ZonedDateTime" -> resultStringBuilder.append( + processZonedDateTime((ZonedDateTime) methodReturnObject)); + case "OperationTime" -> resultStringBuilder.append( + processOperationTime((OperationTime) methodReturnObject, fieldName)); + case "VoltageLevel" -> resultStringBuilder.append( + processVoltageLevel((VoltageLevel) methodReturnObject, fieldName)); + case "Point", "LineString" -> resultStringBuilder.append( + geoJsonWriter.write((Geometry) methodReturnObject)); + case "StandardLoadProfile" -> resultStringBuilder.append( + ((StandardLoadProfile) methodReturnObject).getKey()); + case "AssetTypeInput", + "BmTypeInput", + "ChpTypeInput", + "EvTypeInput", + "HpTypeInput", + "LineTypeInput", + "LineInput", + "NodeInput", + "StorageTypeInput", + "SystemParticipantInput", + "ThermalBusInput", + "ThermalStorageInput", + "TimeSeries", + "Transformer2WTypeInput", + "Transformer3WTypeInput", + "WecTypeInput" -> resultStringBuilder.append( + ((UniqueEntity) methodReturnObject).getUuid()); + case "OperatorInput" -> resultStringBuilder.append( + ((OperatorInput) methodReturnObject).getId().equalsIgnoreCase("NO_OPERATOR_ASSIGNED") + ? "" + : ((OperatorInput) methodReturnObject).getUuid()); + case "EvCharacteristicInput", + "OlmCharacteristicInput", + "WecCharacteristicInput", + "CosPhiFixed", + "CosPhiP", + "QV", + "ReactivePowerCharacteristic", + "CharacteristicInput" -> resultStringBuilder.append( + ((CharacteristicInput) methodReturnObject).deSerialize()); + default -> throw new EntityProcessorException( + "Unable to process value for attribute/field '" + + fieldName + + "' and method return type '" + + method.getReturnType().getSimpleName() + + "' for method with name '" + + method.getName() + + "' in in entity model " + + getRegisteredClass().getSimpleName() + + ".class."); } return resultStringBuilder.toString(); diff --git a/src/main/java/edu/ie3/datamodel/io/processor/input/InputEntityProcessor.java b/src/main/java/edu/ie3/datamodel/io/processor/input/InputEntityProcessor.java index f5e4a7ec3..4bb56ef8f 100644 --- a/src/main/java/edu/ie3/datamodel/io/processor/input/InputEntityProcessor.java +++ b/src/main/java/edu/ie3/datamodel/io/processor/input/InputEntityProcessor.java @@ -22,7 +22,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import javax.measure.quantity.*; /** * Processes all {@link InputEntity}s and it's child classes diff --git a/src/main/java/edu/ie3/datamodel/io/processor/result/ResultEntityProcessor.java b/src/main/java/edu/ie3/datamodel/io/processor/result/ResultEntityProcessor.java index 419f95a3c..92ffffadc 100644 --- a/src/main/java/edu/ie3/datamodel/io/processor/result/ResultEntityProcessor.java +++ b/src/main/java/edu/ie3/datamodel/io/processor/result/ResultEntityProcessor.java @@ -64,32 +64,19 @@ protected Optional handleProcessorSpecificQuantity( Quantity quantity, String fieldName) { Optional normalizedQuantityValue = Optional.empty(); switch (fieldName) { - case "energy": - case "eConsAnnual": - case "eStorage": - normalizedQuantityValue = - quantityValToOptionalString( - quantity.asType(Energy.class).to(StandardUnits.ENERGY_RESULT)); - break; - case "q": - normalizedQuantityValue = - quantityValToOptionalString( - quantity.asType(Power.class).to(StandardUnits.REACTIVE_POWER_RESULT)); - break; - case "p": - case "pMax": - case "pOwn": - case "pThermal": - normalizedQuantityValue = - quantityValToOptionalString( - quantity.asType(Power.class).to(StandardUnits.ACTIVE_POWER_RESULT)); - break; - default: - log.error( - "Cannot process quantity with value '{}' for field with name {} in result entity processing!", - quantity, - fieldName); - break; + case "energy", "eConsAnnual", "eStorage" -> normalizedQuantityValue = + quantityValToOptionalString( + quantity.asType(Energy.class).to(StandardUnits.ENERGY_RESULT)); + case "q" -> normalizedQuantityValue = + quantityValToOptionalString( + quantity.asType(Power.class).to(StandardUnits.REACTIVE_POWER_RESULT)); + case "p", "pMax", "pOwn", "pThermal" -> normalizedQuantityValue = + quantityValToOptionalString( + quantity.asType(Power.class).to(StandardUnits.ACTIVE_POWER_RESULT)); + default -> log.error( + "Cannot process quantity with value '{}' for field with name {} in result entity processing!", + quantity, + fieldName); } return normalizedQuantityValue; } diff --git a/src/main/java/edu/ie3/datamodel/io/processor/timeseries/TimeSeriesProcessor.java b/src/main/java/edu/ie3/datamodel/io/processor/timeseries/TimeSeriesProcessor.java index 0a2bf66b3..d8b7d09c9 100644 --- a/src/main/java/edu/ie3/datamodel/io/processor/timeseries/TimeSeriesProcessor.java +++ b/src/main/java/edu/ie3/datamodel/io/processor/timeseries/TimeSeriesProcessor.java @@ -235,9 +235,7 @@ private Map handleEntry(T timeSeries, E entry) { Map valueFieldToMethod = extractFieldToMethod(VALUE); LinkedHashMap valueResult = processObject(entry.getValue(), valueFieldToMethod); /* Treat WeatherValues specially, as they are nested ones */ - if (entry.getValue() instanceof WeatherValue) { - WeatherValue weatherValue = (WeatherValue) entry.getValue(); - + if (entry.getValue() instanceof WeatherValue weatherValue) { Map irradianceFieldToMethod = extractFieldToMethod(WEATHER_IRRADIANCE); valueResult.putAll(processObject(weatherValue.getSolarIrradiance(), irradianceFieldToMethod)); diff --git a/src/main/java/edu/ie3/datamodel/io/sink/CsvFileSink.java b/src/main/java/edu/ie3/datamodel/io/sink/CsvFileSink.java index 289ffec95..bb31c1562 100644 --- a/src/main/java/edu/ie3/datamodel/io/sink/CsvFileSink.java +++ b/src/main/java/edu/ie3/datamodel/io/sink/CsvFileSink.java @@ -126,8 +126,7 @@ public void persist(T entity) { persistIncludeNested((InputEntity) entity); } else if (entity instanceof ResultEntity) { write(entity); - } else if (entity instanceof TimeSeries) { - TimeSeries timeSeries = (TimeSeries) entity; + } else if (entity instanceof TimeSeries timeSeries) { persistTimeSeries(timeSeries); } else { log.error( @@ -147,10 +146,10 @@ public void persistAllIgnoreNested(Collection entitie @Override public void persistIncludeNested(C entity) { - if (entity instanceof NestedEntity) { + if (entity instanceof NestedEntity nestedEntity) { try { write(entity); - for (InputEntity ent : Extractor.extractElements((NestedEntity) entity)) { + for (InputEntity ent : Extractor.extractElements(nestedEntity)) { write(ent); } } catch (ExtractorException e) { diff --git a/src/main/java/edu/ie3/datamodel/io/sink/InfluxDbSink.java b/src/main/java/edu/ie3/datamodel/io/sink/InfluxDbSink.java index e68e08da6..ce9027caf 100644 --- a/src/main/java/edu/ie3/datamodel/io/sink/InfluxDbSink.java +++ b/src/main/java/edu/ie3/datamodel/io/sink/InfluxDbSink.java @@ -236,10 +236,10 @@ private , V extends Value> Set transformToPo private Set extractPoints(C entity) { Set points = new HashSet<>(); /* Distinguish between result models and time series */ - if (entity instanceof ResultEntity) { + if (entity instanceof ResultEntity resultEntity) { try { points.add( - transformToPoint((ResultEntity) entity) + transformToPoint(resultEntity) .orElseThrow(() -> new SinkException("Could not transform entity"))); } catch (SinkException e) { log.error( @@ -247,8 +247,7 @@ private Set extractPoints(C entity) { entity.getClass().getSimpleName(), e); } - } else if (entity instanceof TimeSeries) { - TimeSeries timeSeries = (TimeSeries) entity; + } else if (entity instanceof TimeSeries timeSeries) { points.addAll(transformToPoints(timeSeries)); } else { log.error( diff --git a/src/main/java/edu/ie3/datamodel/io/source/IdCoordinateSource.java b/src/main/java/edu/ie3/datamodel/io/source/IdCoordinateSource.java index 9b9673b7d..c50c834ab 100644 --- a/src/main/java/edu/ie3/datamodel/io/source/IdCoordinateSource.java +++ b/src/main/java/edu/ie3/datamodel/io/source/IdCoordinateSource.java @@ -8,7 +8,6 @@ import edu.ie3.util.geo.CoordinateDistance; import edu.ie3.util.geo.GeoUtils; import java.util.*; -import java.util.stream.Collectors; import org.locationtech.jts.geom.Point; /** @@ -78,6 +77,6 @@ default List getNearestCoordinates( (allCoordinates == null || allCoordinates.isEmpty()) ? getAllCoordinates() : allCoordinates); - return sortedDistances.stream().limit(n).collect(Collectors.toList()); + return sortedDistances.stream().limit(n).toList(); } } diff --git a/src/main/java/edu/ie3/datamodel/io/source/csv/CsvDataSource.java b/src/main/java/edu/ie3/datamodel/io/source/csv/CsvDataSource.java index 6a3869c44..56a47d0d0 100644 --- a/src/main/java/edu/ie3/datamodel/io/source/csv/CsvDataSource.java +++ b/src/main/java/edu/ie3/datamodel/io/source/csv/CsvDataSource.java @@ -64,9 +64,10 @@ public abstract class CsvDataSource { * @deprecated ensures downward compatibility with old csv data format. Can be removed when * support for old csv format is removed. * */ - @Deprecated private boolean notYetLoggedWarning = true; + @Deprecated(since = "1.1.0", forRemoval = true) + private boolean notYetLoggedWarning = true; - public CsvDataSource(String csvSep, String folderPath, FileNamingStrategy fileNamingStrategy) { + protected CsvDataSource(String csvSep, String folderPath, FileNamingStrategy fileNamingStrategy) { this.csvSep = csvSep; this.connector = new CsvFileConnector(folderPath, fileNamingStrategy); } @@ -169,7 +170,7 @@ protected String[] parseCsvRow(String csvRow, String csvSep) { * @return an array with one entry per column of the provided csv row string * @deprecated only left for downward compatibility. Will be removed in a major release */ - @Deprecated + @Deprecated(since = "1.1.0", forRemoval = true) private String[] oldFieldVals(String csvSep, String csvRow) { /*geo json support*/ @@ -181,8 +182,8 @@ private String[] oldFieldVals(String csvSep, String csvRow) { final String charReplacement = "charRepl"; /*removes double double quotes*/ - List geoList = extractMatchingStrings(geoJsonRegex, csvRow.replaceAll("\"\"", "\"")); - List charList = extractMatchingStrings(charInputRegex, csvRow.replaceAll("\"\"", "\"")); + List geoList = extractMatchingStrings(geoJsonRegex, csvRow.replace("\"\"", "\"")); + List charList = extractMatchingStrings(charInputRegex, csvRow.replace("\"\"", "\"")); AtomicInteger geoCounter = new AtomicInteger(0); AtomicInteger charCounter = new AtomicInteger(0); @@ -413,7 +414,7 @@ protected List> csvRowFieldValueMapping( .parallel() .map(csvRow -> buildFieldsToAttributes(csvRow, headline)) .filter(map -> !map.isEmpty()) - .collect(Collectors.toList()); + .toList(); } /** @@ -460,8 +461,10 @@ protected Set> distinctRowsWithLog( String affectedCoordinateIds = allRowsSet.stream().map(keyExtractor).collect(Collectors.joining(",\n")); log.error( - "'{}' entities with duplicated {} key, but different field values found! Please review the " - + "corresponding input file!\nAffected primary keys:\n{}", + """ + '{}' entities with duplicated {} key, but different field values found! Please review the corresponding input file! + Affected primary keys: + {}""", entityDescriptor, keyDescriptor, affectedCoordinateIds); diff --git a/src/main/java/edu/ie3/datamodel/io/source/sql/SqlWeatherSource.java b/src/main/java/edu/ie3/datamodel/io/source/sql/SqlWeatherSource.java index 15772fa55..64245bb6e 100644 --- a/src/main/java/edu/ie3/datamodel/io/source/sql/SqlWeatherSource.java +++ b/src/main/java/edu/ie3/datamodel/io/source/sql/SqlWeatherSource.java @@ -18,7 +18,6 @@ import java.time.ZonedDateTime; import java.util.*; import java.util.stream.Collectors; -import java.util.stream.Stream; import org.locationtech.jts.geom.Point; /** SQL source for weather data */ @@ -94,7 +93,7 @@ public Map> getWeather( Set coordinateIds = coordinates.stream() .map(idCoordinateSource::getId) - .flatMap(o -> o.map(Stream::of).orElseGet(Stream::empty)) + .flatMap(Optional::stream) .collect(Collectors.toSet()); if (coordinateIds.isEmpty()) { log.warn("Unable to match coordinates to coordinate ID"); @@ -118,7 +117,7 @@ public Map> getWeather( @Override public Optional> getWeather(ZonedDateTime date, Point coordinate) { Optional coordinateId = idCoordinateSource.getId(coordinate); - if (!coordinateId.isPresent()) { + if (coordinateId.isEmpty()) { log.warn("Unable to match coordinate {} to a coordinate ID", coordinate); return Optional.empty(); } @@ -225,7 +224,7 @@ private String createQueryStringForTimeIntervalAndCoordinates( protected Optional> createEntity(Map fieldMap) { fieldMap.remove("tid"); Optional data = toTimeBasedWeatherValueData(fieldMap); - if (!data.isPresent()) return Optional.empty(); + if (data.isEmpty()) return Optional.empty(); return weatherFactory.get(data.get()); } @@ -242,7 +241,7 @@ private Optional toTimeBasedWeatherValueData( fieldMap.putIfAbsent("uuid", UUID.randomUUID().toString()); int coordinateId = Integer.parseInt(coordinateValue); Optional coordinate = idCoordinateSource.getCoordinate(coordinateId); - if (!coordinate.isPresent()) { + if (coordinate.isEmpty()) { log.warn("Unable to match coordinate ID {} to a point", coordinateId); return Optional.empty(); } diff --git a/src/main/java/edu/ie3/datamodel/models/OperationTime.java b/src/main/java/edu/ie3/datamodel/models/OperationTime.java index 4d5d73c76..65e1acd53 100644 --- a/src/main/java/edu/ie3/datamodel/models/OperationTime.java +++ b/src/main/java/edu/ie3/datamodel/models/OperationTime.java @@ -88,7 +88,7 @@ public Optional> getOperationLimit() { */ public boolean includes(ZonedDateTime date) { Optional> optOperationTime = getOperationLimit(); - return !optOperationTime.isPresent() || optOperationTime.get().includes(date); + return optOperationTime.isEmpty() || optOperationTime.get().includes(date); } @Override diff --git a/src/main/java/edu/ie3/datamodel/models/UniqueEntity.java b/src/main/java/edu/ie3/datamodel/models/UniqueEntity.java index 8303b1542..030f9dc61 100644 --- a/src/main/java/edu/ie3/datamodel/models/UniqueEntity.java +++ b/src/main/java/edu/ie3/datamodel/models/UniqueEntity.java @@ -16,11 +16,11 @@ public abstract class UniqueEntity implements Serializable { private final UUID uuid; - public UniqueEntity() { + protected UniqueEntity() { uuid = UUID.randomUUID(); } - public UniqueEntity(UUID uuid) { + protected UniqueEntity(UUID uuid) { this.uuid = uuid == null ? UUID.randomUUID() : uuid; } diff --git a/src/main/java/edu/ie3/datamodel/models/input/AssetInput.java b/src/main/java/edu/ie3/datamodel/models/input/AssetInput.java index 37f23b636..ec285e7fc 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/AssetInput.java +++ b/src/main/java/edu/ie3/datamodel/models/input/AssetInput.java @@ -27,7 +27,7 @@ public abstract class AssetInput extends InputEntity implements Operable { * @param operator Operator of the asset * @param operationTime Operation time limitation */ - public AssetInput(UUID uuid, String id, OperatorInput operator, OperationTime operationTime) { + protected AssetInput(UUID uuid, String id, OperatorInput operator, OperationTime operationTime) { super(uuid); this.operationTime = operationTime; this.operator = operator; diff --git a/src/main/java/edu/ie3/datamodel/models/input/AssetTypeInput.java b/src/main/java/edu/ie3/datamodel/models/input/AssetTypeInput.java index 14cbb8cdc..9cc2b5ebe 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/AssetTypeInput.java +++ b/src/main/java/edu/ie3/datamodel/models/input/AssetTypeInput.java @@ -17,7 +17,7 @@ public abstract class AssetTypeInput extends InputEntity { * @param uuid of the input entity * @param id of the asset */ - public AssetTypeInput(UUID uuid, String id) { + protected AssetTypeInput(UUID uuid, String id) { super(uuid); this.id = id; } diff --git a/src/main/java/edu/ie3/datamodel/models/input/InputEntity.java b/src/main/java/edu/ie3/datamodel/models/input/InputEntity.java index 79ff04bd9..4f92b83f4 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/InputEntity.java +++ b/src/main/java/edu/ie3/datamodel/models/input/InputEntity.java @@ -11,7 +11,7 @@ /** Functionless class to describe that all subclasses are input classes */ public abstract class InputEntity extends UniqueEntity { - public InputEntity(UUID uuid) { + protected InputEntity(UUID uuid) { super(uuid); } } diff --git a/src/main/java/edu/ie3/datamodel/models/input/connector/ConnectorInput.java b/src/main/java/edu/ie3/datamodel/models/input/connector/ConnectorInput.java index 528a9c91c..62139082b 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/connector/ConnectorInput.java +++ b/src/main/java/edu/ie3/datamodel/models/input/connector/ConnectorInput.java @@ -33,7 +33,7 @@ public abstract class ConnectorInput extends AssetInput implements HasNodes { * @param parallelDevices overall amount of parallel devices to automatically construct (e.g. * parallelDevices = 2 will build a total of two entities using the specified parameters) */ - public ConnectorInput( + protected ConnectorInput( UUID uuid, String id, OperatorInput operator, @@ -57,7 +57,7 @@ public ConnectorInput( * @param parallelDevices overall amount of parallel devices to automatically construct (e.g. * parallelDevices = 2 will build a total of two entities using the specified parameters) */ - public ConnectorInput( + protected ConnectorInput( UUID uuid, String id, NodeInput nodeA, NodeInput nodeB, int parallelDevices) { super(uuid, id); this.nodeA = nodeA; diff --git a/src/main/java/edu/ie3/datamodel/models/input/connector/TransformerInput.java b/src/main/java/edu/ie3/datamodel/models/input/connector/TransformerInput.java index b5c10cb00..73af267cb 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/connector/TransformerInput.java +++ b/src/main/java/edu/ie3/datamodel/models/input/connector/TransformerInput.java @@ -32,7 +32,7 @@ public abstract class TransformerInput extends ConnectorInput { * @param tapPos Tap Position of this transformer * @param autoTap True, if the tap position of the transformer is adapted automatically */ - public TransformerInput( + protected TransformerInput( UUID uuid, OperationTime operationTime, OperatorInput operator, @@ -59,7 +59,7 @@ public TransformerInput( * @param tapPos Tap Position of this transformer * @param autoTap True, if the tap position of the transformer is adapted automatically */ - public TransformerInput( + protected TransformerInput( UUID uuid, String id, NodeInput nodeA, diff --git a/src/main/java/edu/ie3/datamodel/models/input/container/GraphicElements.java b/src/main/java/edu/ie3/datamodel/models/input/container/GraphicElements.java index 60434f9a8..a24ad81d7 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/container/GraphicElements.java +++ b/src/main/java/edu/ie3/datamodel/models/input/container/GraphicElements.java @@ -49,12 +49,12 @@ public GraphicElements(List graphics) { /* init sets */ this.nodeGraphics = graphics.parallelStream() - .filter(graphic -> graphic instanceof NodeGraphicInput) - .map(graphic -> (NodeGraphicInput) graphic) + .filter(NodeGraphicInput.class::isInstance) + .map(NodeGraphicInput.class::cast) .collect(Collectors.toSet()); this.lineGraphics = graphics.parallelStream() - .filter(graphic -> graphic instanceof LineGraphicInput) + .filter(LineGraphicInput.class::isInstance) .map(graphic -> (LineGraphicInput) graphic) .collect(Collectors.toSet()); } diff --git a/src/main/java/edu/ie3/datamodel/models/input/container/RawGridElements.java b/src/main/java/edu/ie3/datamodel/models/input/container/RawGridElements.java index b8806a63d..c84ff3fee 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/container/RawGridElements.java +++ b/src/main/java/edu/ie3/datamodel/models/input/container/RawGridElements.java @@ -85,33 +85,33 @@ public RawGridElements(List rawGridElements) { /* init sets */ this.nodes = rawGridElements.parallelStream() - .filter(gridElement -> gridElement instanceof NodeInput) - .map(nodeInput -> (NodeInput) nodeInput) + .filter(NodeInput.class::isInstance) + .map(NodeInput.class::cast) .collect(Collectors.toSet()); this.lines = rawGridElements.parallelStream() - .filter(gridElement -> gridElement instanceof LineInput) - .map(lineInput -> (LineInput) lineInput) + .filter(LineInput.class::isInstance) + .map(LineInput.class::cast) .collect(Collectors.toSet()); this.transformer2Ws = rawGridElements.parallelStream() - .filter(gridElement -> gridElement instanceof Transformer2WInput) - .map(trafo2wInput -> (Transformer2WInput) trafo2wInput) + .filter(Transformer2WInput.class::isInstance) + .map(Transformer2WInput.class::cast) .collect(Collectors.toSet()); this.transformer3Ws = rawGridElements.parallelStream() - .filter(gridElement -> gridElement instanceof Transformer3WInput) - .map(trafo3wInput -> (Transformer3WInput) trafo3wInput) + .filter(Transformer3WInput.class::isInstance) + .map(Transformer3WInput.class::cast) .collect(Collectors.toSet()); this.switches = rawGridElements.parallelStream() - .filter(gridElement -> gridElement instanceof SwitchInput) - .map(switchInput -> (SwitchInput) switchInput) + .filter(SwitchInput.class::isInstance) + .map(SwitchInput.class::cast) .collect(Collectors.toSet()); this.measurementUnits = rawGridElements.parallelStream() - .filter(gridElement -> gridElement instanceof MeasurementUnitInput) - .map(measurementUnitInput -> (MeasurementUnitInput) measurementUnitInput) + .filter(MeasurementUnitInput.class::isInstance) + .map(MeasurementUnitInput.class::cast) .collect(Collectors.toSet()); } diff --git a/src/main/java/edu/ie3/datamodel/models/input/container/SystemParticipants.java b/src/main/java/edu/ie3/datamodel/models/input/container/SystemParticipants.java index 28550d86a..75b91010c 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/container/SystemParticipants.java +++ b/src/main/java/edu/ie3/datamodel/models/input/container/SystemParticipants.java @@ -107,53 +107,53 @@ public SystemParticipants(List systemParticipants) { /* init sets */ this.bmPlants = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof BmInput) - .map(bmInput -> (BmInput) bmInput) + .filter(BmInput.class::isInstance) + .map(BmInput.class::cast) .collect(Collectors.toSet()); this.chpPlants = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof ChpInput) - .map(chpInput -> (ChpInput) chpInput) + .filter(ChpInput.class::isInstance) + .map(ChpInput.class::cast) .collect(Collectors.toSet()); this.evCS = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof EvcsInput) - .map(evcsInput -> (EvcsInput) evcsInput) + .filter(EvcsInput.class::isInstance) + .map(EvcsInput.class::cast) .collect(Collectors.toSet()); this.evs = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof EvInput) - .map(evInput -> (EvInput) evInput) + .filter(EvInput.class::isInstance) + .map(EvInput.class::cast) .collect(Collectors.toSet()); this.fixedFeedIns = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof FixedFeedInInput) - .map(fixedFeedInInpu -> (FixedFeedInInput) fixedFeedInInpu) + .filter(FixedFeedInInput.class::isInstance) + .map(FixedFeedInInput.class::cast) .collect(Collectors.toSet()); this.heatPumps = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof HpInput) - .map(hpInput -> (HpInput) hpInput) + .filter(HpInput.class::isInstance) + .map(HpInput.class::cast) .collect(Collectors.toSet()); this.loads = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof LoadInput) - .map(loadInput -> (LoadInput) loadInput) + .filter(LoadInput.class::isInstance) + .map(LoadInput.class::cast) .collect(Collectors.toSet()); this.pvPlants = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof PvInput) - .map(pvInput -> (PvInput) pvInput) + .filter(PvInput.class::isInstance) + .map(PvInput.class::cast) .collect(Collectors.toSet()); this.storages = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof StorageInput) - .map(storageInput -> (StorageInput) storageInput) + .filter(StorageInput.class::isInstance) + .map(StorageInput.class::cast) .collect(Collectors.toSet()); this.wecPlants = systemParticipants.parallelStream() - .filter(gridElement -> gridElement instanceof WecInput) - .map(wecInput -> (WecInput) wecInput) + .filter(WecInput.class::isInstance) + .map(WecInput.class::cast) .collect(Collectors.toSet()); } diff --git a/src/main/java/edu/ie3/datamodel/models/input/graphics/GraphicInput.java b/src/main/java/edu/ie3/datamodel/models/input/graphics/GraphicInput.java index 9a9869e5b..677d04687 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/graphics/GraphicInput.java +++ b/src/main/java/edu/ie3/datamodel/models/input/graphics/GraphicInput.java @@ -23,7 +23,7 @@ public abstract class GraphicInput extends InputEntity { * @param graphicLayer Description of the graphic layer, this graphic is located on * @param path A graphic representation as path */ - public GraphicInput(UUID uuid, String graphicLayer, LineString path) { + protected GraphicInput(UUID uuid, String graphicLayer, LineString path) { super(uuid); this.graphicLayer = graphicLayer; this.path = diff --git a/src/main/java/edu/ie3/datamodel/models/input/system/characteristic/ReactivePowerCharacteristic.java b/src/main/java/edu/ie3/datamodel/models/input/system/characteristic/ReactivePowerCharacteristic.java index c70621d34..8a4abb1e2 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/system/characteristic/ReactivePowerCharacteristic.java +++ b/src/main/java/edu/ie3/datamodel/models/input/system/characteristic/ReactivePowerCharacteristic.java @@ -13,14 +13,14 @@ /** Abstract class (only for grouping all reactive power characteristics together */ public abstract class ReactivePowerCharacteristic extends CharacteristicInput { - public ReactivePowerCharacteristic( + protected ReactivePowerCharacteristic( SortedSet> characteristicPoints, String prefix, int decimalPlaces) { super(characteristicPoints, prefix, decimalPlaces); } - public ReactivePowerCharacteristic( + protected ReactivePowerCharacteristic( String input, Unit abscissaUnit, Unit ordinateUnit, diff --git a/src/main/java/edu/ie3/datamodel/models/input/system/type/SystemParticipantTypeInput.java b/src/main/java/edu/ie3/datamodel/models/input/system/type/SystemParticipantTypeInput.java index e08b40d5a..141328bbd 100644 --- a/src/main/java/edu/ie3/datamodel/models/input/system/type/SystemParticipantTypeInput.java +++ b/src/main/java/edu/ie3/datamodel/models/input/system/type/SystemParticipantTypeInput.java @@ -32,7 +32,7 @@ public abstract class SystemParticipantTypeInput extends AssetTypeInput { * @param sRated Rated apparent power * @param cosPhiRated Power factor for this type of system participant */ - public SystemParticipantTypeInput( + protected SystemParticipantTypeInput( UUID uuid, String id, ComparableQuantity capex, diff --git a/src/main/java/edu/ie3/datamodel/models/result/ResultEntity.java b/src/main/java/edu/ie3/datamodel/models/result/ResultEntity.java index 0152c4c15..d277b9a67 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/ResultEntity.java +++ b/src/main/java/edu/ie3/datamodel/models/result/ResultEntity.java @@ -24,7 +24,7 @@ public abstract class ResultEntity extends UniqueEntity { * @param time date and time when the result is produced * @param inputModel uuid of the input model that produces the result */ - public ResultEntity(ZonedDateTime time, UUID inputModel) { + protected ResultEntity(ZonedDateTime time, UUID inputModel) { super(); this.time = time; this.inputModel = inputModel; @@ -38,7 +38,7 @@ public ResultEntity(ZonedDateTime time, UUID inputModel) { * @param time date and time when the result is produced * @param inputModel uuid of the input model that produces the result */ - public ResultEntity(UUID uuid, ZonedDateTime time, UUID inputModel) { + protected ResultEntity(UUID uuid, ZonedDateTime time, UUID inputModel) { super(uuid); this.time = time; this.inputModel = inputModel; diff --git a/src/main/java/edu/ie3/datamodel/models/result/connector/ConnectorResult.java b/src/main/java/edu/ie3/datamodel/models/result/connector/ConnectorResult.java index d14d2aa63..ee241b0a1 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/connector/ConnectorResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/connector/ConnectorResult.java @@ -38,7 +38,7 @@ public abstract class ConnectorResult extends ResultEntity { * @param iBMag electric current magnitude @ port B, normally provided in Ampere * @param iBAng electric current angle @ Port B in degree */ - public ConnectorResult( + protected ConnectorResult( ZonedDateTime time, UUID inputModel, ComparableQuantity iAMag, @@ -64,7 +64,7 @@ public ConnectorResult( * @param iBMag electric current magnitude @ port B, normally provided in Ampere * @param iBAng electric current angle @ Port B in degree */ - public ConnectorResult( + protected ConnectorResult( UUID uuid, ZonedDateTime time, UUID inputModel, diff --git a/src/main/java/edu/ie3/datamodel/models/result/connector/TransformerResult.java b/src/main/java/edu/ie3/datamodel/models/result/connector/TransformerResult.java index ac5ef87ed..7a46cf894 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/connector/TransformerResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/connector/TransformerResult.java @@ -32,7 +32,7 @@ public abstract class TransformerResult extends ConnectorResult { * @param iBAng electric current angle @ Port B in degree * @param tapPos the current position of the transformers tap changer */ - public TransformerResult( + protected TransformerResult( ZonedDateTime time, UUID inputModel, ComparableQuantity iAMag, @@ -55,7 +55,7 @@ public TransformerResult( * @param iBAng electric current angle @ Port B in degree * @param tapPos the current position of the transformers tap changer */ - public TransformerResult( + protected TransformerResult( UUID uuid, ZonedDateTime time, UUID inputModel, diff --git a/src/main/java/edu/ie3/datamodel/models/result/system/ElectricalEnergyStorageResult.java b/src/main/java/edu/ie3/datamodel/models/result/system/ElectricalEnergyStorageResult.java index c2d61981c..0e58ae106 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/system/ElectricalEnergyStorageResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/system/ElectricalEnergyStorageResult.java @@ -19,7 +19,7 @@ public abstract class ElectricalEnergyStorageResult extends SystemParticipantRes /** State of Charge (SoC) in % */ private final ComparableQuantity soc; - public ElectricalEnergyStorageResult( + protected ElectricalEnergyStorageResult( ZonedDateTime time, UUID inputModel, ComparableQuantity p, @@ -29,7 +29,7 @@ public ElectricalEnergyStorageResult( this.soc = soc.to(StandardUnits.SOC); } - public ElectricalEnergyStorageResult( + protected ElectricalEnergyStorageResult( UUID uuid, ZonedDateTime time, UUID inputModel, diff --git a/src/main/java/edu/ie3/datamodel/models/result/system/SystemParticipantResult.java b/src/main/java/edu/ie3/datamodel/models/result/system/SystemParticipantResult.java index 28e67d310..cdd0823e6 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/system/SystemParticipantResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/system/SystemParticipantResult.java @@ -27,7 +27,7 @@ public abstract class SystemParticipantResult extends ResultEntity { * @param p active power output normally provided in MW * @param q reactive power output normally provided in MVAr */ - public SystemParticipantResult( + protected SystemParticipantResult( ZonedDateTime time, UUID inputModel, ComparableQuantity p, @@ -45,7 +45,7 @@ public SystemParticipantResult( * @param p active power output normally provided in MW * @param q reactive power output normally provided in MVAr */ - public SystemParticipantResult( + protected SystemParticipantResult( UUID uuid, ZonedDateTime time, UUID inputModel, diff --git a/src/main/java/edu/ie3/datamodel/models/result/system/SystemParticipantWithHeatResult.java b/src/main/java/edu/ie3/datamodel/models/result/system/SystemParticipantWithHeatResult.java index e4aca9dc7..814308254 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/system/SystemParticipantWithHeatResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/system/SystemParticipantWithHeatResult.java @@ -23,7 +23,7 @@ public abstract class SystemParticipantWithHeatResult extends SystemParticipantR * @param q reactive power output normally provided in MVAr * @param qDot thermal power output normally provided in MW */ - public SystemParticipantWithHeatResult( + protected SystemParticipantWithHeatResult( ZonedDateTime time, UUID inputModel, ComparableQuantity p, @@ -42,7 +42,7 @@ public SystemParticipantWithHeatResult( * @param q reactive power output normally provided in MVAr * @param qDot thermal power output normally provided in MW */ - public SystemParticipantWithHeatResult( + protected SystemParticipantWithHeatResult( UUID uuid, ZonedDateTime time, UUID inputModel, diff --git a/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalSinkResult.java b/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalSinkResult.java index 1a0cdda45..196bd09b2 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalSinkResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalSinkResult.java @@ -23,7 +23,7 @@ public abstract class ThermalSinkResult extends ThermalUnitResult { * @param inputModel uuid of the input model that produces the result * @param qDot thermal heat demand of the sink */ - public ThermalSinkResult(ZonedDateTime time, UUID inputModel, ComparableQuantity qDot) { + protected ThermalSinkResult(ZonedDateTime time, UUID inputModel, ComparableQuantity qDot) { super(time, inputModel, qDot); } @@ -36,7 +36,7 @@ public ThermalSinkResult(ZonedDateTime time, UUID inputModel, ComparableQuantity * @param inputModel uuid of the input model that produces the result * @param qDot thermal heat demand of the sink */ - public ThermalSinkResult( + protected ThermalSinkResult( UUID uuid, ZonedDateTime time, UUID inputModel, ComparableQuantity qDot) { super(uuid, time, inputModel, qDot); } diff --git a/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalStorageResult.java b/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalStorageResult.java index eb6ef290c..99bcba5f8 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalStorageResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalStorageResult.java @@ -29,7 +29,7 @@ public abstract class ThermalStorageResult extends ThermalUnitResult { * @param energy Currently stored energy * @param qDot Heat power flowing into (> 0) or coming from (< 0) the storage */ - public ThermalStorageResult( + protected ThermalStorageResult( ZonedDateTime time, UUID inputModel, ComparableQuantity energy, @@ -48,7 +48,7 @@ public ThermalStorageResult( * @param energy Currently stored energy * @param qDot Heat power flowing into (> 0) or coming from (< 0) the storage */ - public ThermalStorageResult( + protected ThermalStorageResult( UUID uuid, ZonedDateTime time, UUID inputModel, diff --git a/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalUnitResult.java b/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalUnitResult.java index b039c5bb0..9692e49d4 100644 --- a/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalUnitResult.java +++ b/src/main/java/edu/ie3/datamodel/models/result/thermal/ThermalUnitResult.java @@ -29,7 +29,7 @@ public abstract class ThermalUnitResult extends ResultEntity { * @param inputModel The input model's UUID, the result is related to * @param qDot Average thermal power exchanged with the unit */ - public ThermalUnitResult(ZonedDateTime time, UUID inputModel, ComparableQuantity qDot) { + protected ThermalUnitResult(ZonedDateTime time, UUID inputModel, ComparableQuantity qDot) { super(time, inputModel); this.qDot = qDot; } @@ -42,7 +42,7 @@ public ThermalUnitResult(ZonedDateTime time, UUID inputModel, ComparableQuantity * @param inputModel The input model's UUID, the result is related to * @param qDot Average thermal power exchanged with the unit */ - public ThermalUnitResult( + protected ThermalUnitResult( UUID uuid, ZonedDateTime time, UUID inputModel, ComparableQuantity qDot) { super(uuid, time, inputModel); this.qDot = qDot; diff --git a/src/main/java/edu/ie3/datamodel/models/timeseries/TimeSeriesEntry.java b/src/main/java/edu/ie3/datamodel/models/timeseries/TimeSeriesEntry.java index 0fb9aec8e..f31df4d8f 100644 --- a/src/main/java/edu/ie3/datamodel/models/timeseries/TimeSeriesEntry.java +++ b/src/main/java/edu/ie3/datamodel/models/timeseries/TimeSeriesEntry.java @@ -18,12 +18,12 @@ public abstract class TimeSeriesEntry extends UniqueEntity { protected final V value; - public TimeSeriesEntry(UUID uuid, V value) { + protected TimeSeriesEntry(UUID uuid, V value) { super(uuid); this.value = value; } - public TimeSeriesEntry(V value) { + protected TimeSeriesEntry(V value) { this(UUID.randomUUID(), value); } diff --git a/src/main/java/edu/ie3/datamodel/models/timeseries/repetitive/RepetitiveTimeSeries.java b/src/main/java/edu/ie3/datamodel/models/timeseries/repetitive/RepetitiveTimeSeries.java index b1560e81e..672ee5589 100644 --- a/src/main/java/edu/ie3/datamodel/models/timeseries/repetitive/RepetitiveTimeSeries.java +++ b/src/main/java/edu/ie3/datamodel/models/timeseries/repetitive/RepetitiveTimeSeries.java @@ -16,11 +16,11 @@ /** Describes a TimeSeries with repetitive values that can be calculated from a pattern */ public abstract class RepetitiveTimeSeries, V extends Value> extends TimeSeries { - public RepetitiveTimeSeries(Set entries) { + protected RepetitiveTimeSeries(Set entries) { super(entries); } - public RepetitiveTimeSeries(UUID uuid, Set entries) { + protected RepetitiveTimeSeries(UUID uuid, Set entries) { super(uuid, entries); } diff --git a/src/main/java/edu/ie3/datamodel/utils/ContainerNodeUpdateUtil.java b/src/main/java/edu/ie3/datamodel/utils/ContainerNodeUpdateUtil.java index f641adccf..bb014bd50 100644 --- a/src/main/java/edu/ie3/datamodel/utils/ContainerNodeUpdateUtil.java +++ b/src/main/java/edu/ie3/datamodel/utils/ContainerNodeUpdateUtil.java @@ -41,8 +41,8 @@ private ContainerNodeUpdateUtil() { */ public static GridContainer updateGridWithNodes( GridContainer grid, Map oldToNewNodes) { - if (grid instanceof JointGridContainer) { - return updateGridWithNodes((JointGridContainer) grid, oldToNewNodes); + if (grid instanceof JointGridContainer jointGridContainer) { + return updateGridWithNodes(jointGridContainer, oldToNewNodes); } else { return updateGridWithNodes((SubGridContainer) grid, oldToNewNodes); } @@ -216,7 +216,7 @@ private static SystemParticipants updateSystemParticipantsWithNodes( return sysPart; } }) - .collect(Collectors.toList()); + .toList(); return new SystemParticipants(sysParts); } diff --git a/src/main/java/edu/ie3/datamodel/utils/ContainerUtils.java b/src/main/java/edu/ie3/datamodel/utils/ContainerUtils.java index 3dfbc1c27..9b70a51b6 100644 --- a/src/main/java/edu/ie3/datamodel/utils/ContainerUtils.java +++ b/src/main/java/edu/ie3/datamodel/utils/ContainerUtils.java @@ -529,9 +529,8 @@ private static TransformerSubGridContainers getSubGridContainers( SubGridContainer containerB = subGrids.get(transformer.getNodeB().getSubnet()); /* Get the sub grid container at port C, if this is a three winding transformer */ - if (transformer instanceof Transformer3WInput) { - SubGridContainer containerC = - subGrids.get(((Transformer3WInput) transformer).getNodeC().getSubnet()); + if (transformer instanceof Transformer3WInput transformer3WInput) { + SubGridContainer containerC = subGrids.get((transformer3WInput).getNodeC().getSubnet()); return new TransformerSubGridContainers(containerA, containerB, containerC); } else return new TransformerSubGridContainers(containerA, containerB); } @@ -576,9 +575,7 @@ private static LinkedList traverseAlongSwitchChain( /* Get the switch, that is connected to the starting node and determine the next node */ List nextSwitches = - switches.stream() - .filter(switcher -> switcher.allNodes().contains(startNode)) - .collect(Collectors.toList()); + switches.stream().filter(switcher -> switcher.allNodes().contains(startNode)).toList(); switch (nextSwitches.size()) { case 0: /* No further switch found -> Return the starting node */ diff --git a/src/main/java/edu/ie3/datamodel/utils/GridAndGeoUtils.java b/src/main/java/edu/ie3/datamodel/utils/GridAndGeoUtils.java index d08be22eb..74727a70a 100644 --- a/src/main/java/edu/ie3/datamodel/utils/GridAndGeoUtils.java +++ b/src/main/java/edu/ie3/datamodel/utils/GridAndGeoUtils.java @@ -27,7 +27,7 @@ private GridAndGeoUtils() { * @return The equivalent straight line string * @deprecated Use {@link #buildSafeLineStringBetweenNodes(NodeInput, NodeInput)} instead */ - @Deprecated + @Deprecated(since = "1.1.0", forRemoval = true) public static LineString buildLineStringBetweenNodes(NodeInput a, NodeInput b) { return buildSafeLineStringBetweenPoints(a.getGeoPosition(), b.getGeoPosition()); } diff --git a/src/main/java/edu/ie3/datamodel/utils/validation/GridContainerValidationUtils.java b/src/main/java/edu/ie3/datamodel/utils/validation/GridContainerValidationUtils.java index 5c1a839cf..a25141711 100644 --- a/src/main/java/edu/ie3/datamodel/utils/validation/GridContainerValidationUtils.java +++ b/src/main/java/edu/ie3/datamodel/utils/validation/GridContainerValidationUtils.java @@ -17,7 +17,6 @@ import edu.ie3.datamodel.models.input.system.SystemParticipantInput; import edu.ie3.datamodel.utils.ContainerUtils; import java.util.*; -import java.util.stream.Collectors; import java.util.stream.Stream; public class GridContainerValidationUtils extends ValidationUtils { @@ -122,7 +121,7 @@ protected static void checkRawGridElements(RawGridElements rawGridElements) { transformer -> ContainerUtils.traverseAlongSwitchChain(transformer.getNodeA(), rawGridElements) .getLast()) - .collect(Collectors.toList())); + .toList()); rawGridElements .getSwitches() diff --git a/src/test/groovy/edu/ie3/datamodel/io/extractor/ExtractorTest.groovy b/src/test/groovy/edu/ie3/datamodel/io/extractor/ExtractorTest.groovy index 08d46f48d..e66728a90 100644 --- a/src/test/groovy/edu/ie3/datamodel/io/extractor/ExtractorTest.groovy +++ b/src/test/groovy/edu/ie3/datamodel/io/extractor/ExtractorTest.groovy @@ -21,7 +21,9 @@ class ExtractorTest extends Specification { def "An Extractor should be able to extract an entity with nested elements correctly"() { expect: - Extractor.extractElements(nestedEntity) as Set == expectedExtractedEntities as Set + println(nestedEntity) + def result = Extractor.extractElements(nestedEntity) as Set + result == expectedExtractedEntities as Set where: nestedEntity || expectedExtractedEntities @@ -107,13 +109,6 @@ class ExtractorTest extends Specification { ] gtd.nodeGraphicC || [gtd.nodeGraphicC.node] - new NodeGraphicInput( - gtd.nodeGraphicC.uuid, - gtd.nodeGraphicC.graphicLayer, - gtd.nodeGraphicC.path, - null, - gtd.nodeGraphicC.point - ) || [null] gtd.measurementUnitInput || [ gtd.measurementUnitInput.node, diff --git a/src/test/java/edu/ie3/datamodel/models/OperationTimeTest.java b/src/test/java/edu/ie3/datamodel/models/OperationTimeTest.java index bc0f20056..9aa3513f9 100644 --- a/src/test/java/edu/ie3/datamodel/models/OperationTimeTest.java +++ b/src/test/java/edu/ie3/datamodel/models/OperationTimeTest.java @@ -41,17 +41,17 @@ class OperationTimeTest { private static final OperationTime NOT_LIMITED_OPERATION = new OperationTime(null, null, false); @Test - protected void notLimited() { + void notLimited() { OperationTime notLimited = OperationTime.notLimited(); assertEquals(NOT_LIMITED_OPERATION, notLimited); assertFalse(notLimited.isLimited()); - assertTrue(!notLimited.getStartDate().isPresent()); - assertTrue(!notLimited.getEndDate().isPresent()); + assertFalse(notLimited.getStartDate().isPresent()); + assertFalse(notLimited.getEndDate().isPresent()); assertEquals(Optional.empty(), notLimited.getOperationLimit()); } @Test - protected void getStartDate() { + void getStartDate() { Optional optStartDate = LIMITED_OPERATION_TIME.getStartDate(); assertTrue(optStartDate.isPresent()); ZonedDateTime startDate = optStartDate.get(); @@ -63,21 +63,21 @@ protected void getStartDate() { assertEquals(START_DATE, startDate); optStartDate = LIMITED_OPERATION_TIME_END_ONLY.getStartDate(); - assertTrue(!optStartDate.isPresent()); + assertFalse(optStartDate.isPresent()); optStartDate = NOT_LIMITED_OPERATION.getStartDate(); - assertTrue(!optStartDate.isPresent()); + assertFalse(optStartDate.isPresent()); } @Test - protected void getEndDate() { + void getEndDate() { Optional optEndDate = LIMITED_OPERATION_TIME.getEndDate(); assertTrue(optEndDate.isPresent()); ZonedDateTime endDate = optEndDate.get(); assertEquals(END_DATE, endDate); optEndDate = LIMITED_OPERATION_TIME_START_ONLY.getEndDate(); - assertTrue(!optEndDate.isPresent()); + assertFalse(optEndDate.isPresent()); optEndDate = LIMITED_OPERATION_TIME_END_ONLY.getEndDate(); assertTrue(optEndDate.isPresent()); @@ -85,11 +85,11 @@ protected void getEndDate() { assertEquals(END_DATE, endDate); optEndDate = NOT_LIMITED_OPERATION.getEndDate(); - assertTrue(!optEndDate.isPresent()); + assertFalse(optEndDate.isPresent()); } @Test - protected void getOperationLimit() { + void getOperationLimit() { Optional> optOperationLimit = LIMITED_OPERATION_TIME.getOperationLimit(); assertTrue(optOperationLimit.isPresent()); @@ -107,11 +107,11 @@ protected void getOperationLimit() { assertEquals(new ClosedInterval<>(MIN_DATE, END_DATE), operationLimit); optOperationLimit = NOT_LIMITED_OPERATION.getOperationLimit(); - assertTrue(!optOperationLimit.isPresent()); + assertFalse(optOperationLimit.isPresent()); } @Test - protected void includes() { + void includes() { assertTrue(LIMITED_OPERATION_TIME.includes(DATE_IN_INTERVAL)); assertFalse(LIMITED_OPERATION_TIME.includes(DATE_BEFORE_INTERVAL)); assertFalse(LIMITED_OPERATION_TIME.includes(DATE_AFTER_INTERVAL));