You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by sr...@apache.org on 2021/09/28 11:15:51 UTC
[plc4x-build-tools] branch develop updated: fix: fixed order on
getDiscriminatorCaseToKeyValueMap
This is an automated email from the ASF dual-hosted git repository.
sruehl pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/plc4x-build-tools.git
The following commit(s) were added to refs/heads/develop by this push:
new 82324e5 fix: fixed order on getDiscriminatorCaseToKeyValueMap
82324e5 is described below
commit 82324e591c267d1215bd9a1b3e3305a19f910433
Author: Sebastian Rühl <sr...@apache.org>
AuthorDate: Tue Sep 28 13:15:43 2021 +0200
fix: fixed order on getDiscriminatorCaseToKeyValueMap
---
.../types/definitions/TypeDefinition.java | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/TypeDefinition.java b/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/TypeDefinition.java
index 73ed58f..d5c42fc 100644
--- a/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/TypeDefinition.java
+++ b/code-generation/types-base/src/main/java/org/apache/plc4x/plugins/codegenerator/types/definitions/TypeDefinition.java
@@ -22,10 +22,7 @@ import org.apache.plc4x.plugins.codegenerator.types.fields.SwitchField;
import org.apache.plc4x.plugins.codegenerator.types.references.TypeReference;
import org.apache.plc4x.plugins.codegenerator.types.terms.Term;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
import java.util.stream.Collectors;
public interface TypeDefinition extends TypeDefinitionConversions {
@@ -106,7 +103,7 @@ public interface TypeDefinition extends TypeDefinitionConversions {
* @return Map mapping discriminator names to discriminator values for every discriminated type.
*/
// TODO: check if this can be moved down.
- default Map<String, Map<String, String>> getDiscriminatorCaseToKeyValueMap() {
+ default LinkedHashMap<String, Map<String, String>> getDiscriminatorCaseToKeyValueMap() {
// Get the parent type (Which contains the typeSwitch field)
ComplexTypeDefinition parentType;
if (isDiscriminatedComplexTypeDefinition()) {
@@ -119,9 +116,16 @@ public interface TypeDefinition extends TypeDefinitionConversions {
.map(SwitchField::getCases)
.map(cases -> cases.stream()
// Build a map containing the named discriminator values for every case of the typeSwitch.
- .collect(Collectors.toMap(DiscriminatedComplexTypeDefinition::getName, DiscriminatedComplexTypeDefinition::getDiscriminatorMap))
+ .collect(
+ Collectors.toMap(
+ DiscriminatedComplexTypeDefinition::getName,
+ DiscriminatedComplexTypeDefinition::getDiscriminatorMap,
+ (oldValue, newValue) -> oldValue,
+ LinkedHashMap::new
+ )
+ )
)
- .orElse(Collections.emptyMap());
+ .orElse(new LinkedHashMap<>());
}
}