RED-7679: changed stream to get row number to differ between same named components

This commit is contained in:
Ali Oezyetimoglu 2023-10-27 17:08:16 +02:00
parent aaed6f229b
commit 0908cbc96e

View File

@ -104,7 +104,11 @@ public class ComponentCreationService {
referencedEntities.addAll(references); referencedEntities.addAll(references);
kieSession.insert(Component.builder().matchedRule(RuleIdentifier.fromString(ruleIdentifier)).name(name).value(value).valueDescription(valueDescription) kieSession.insert(Component.builder()
.matchedRule(RuleIdentifier.fromString(ruleIdentifier))
.name(name)
.value(value)
.valueDescription(valueDescription)
.references(new LinkedList<>(references)) .references(new LinkedList<>(references))
.build()); .build());
} }
@ -356,7 +360,9 @@ public class ComponentCreationService {
*/ */
public void createComponentsForUnMappedEntities(String ruleIdentifier, Collection<Entity> entities) { public void createComponentsForUnMappedEntities(String ruleIdentifier, Collection<Entity> entities) {
entities.stream().filter(entity -> !referencedEntities.contains(entity)).sorted(EntityComparators.first()) entities.stream()
.filter(entity -> !referencedEntities.contains(entity))
.sorted(EntityComparators.first())
.forEach(entity -> create(ruleIdentifier, entity.getType(), entity.getValue(), "Unmapped Entity", List.of(entity))); .forEach(entity -> create(ruleIdentifier, entity.getType(), entity.getValue(), "Unmapped Entity", List.of(entity)));
} }
@ -428,12 +434,16 @@ public class ComponentCreationService {
.entrySet() .entrySet()
.stream() .stream()
.sorted(Comparator.comparingInt(Map.Entry::getKey)) .sorted(Comparator.comparingInt(Map.Entry::getKey))
.map(Map.Entry::getValue) // .map(Map.Entry::getValue)
.forEach(entitiesInSameRow -> create(ruleIdentifier, .forEach(integerListEntry -> {
name, var rowNumber = integerListEntry.getKey();
entitiesInSameRow.stream().sorted(EntityComparators.first()).map(Entity::getValue).collect(Collectors.joining(", ")), var entitiesInSameRow = integerListEntry.getValue();
valueDescription, create(ruleIdentifier,
entitiesInSameRow)); name + rowNumber,
entitiesInSameRow.stream().sorted(EntityComparators.first()).map(Entity::getValue).collect(Collectors.joining(", ")),
valueDescription,
entitiesInSameRow);
});
}); });
} }
@ -476,7 +486,9 @@ public class ComponentCreationService {
*/ */
public void create(String ruleIdentifier, String name, String value) { public void create(String ruleIdentifier, String name, String value) {
kieSession.insert(Component.builder().matchedRule(RuleIdentifier.fromString(ruleIdentifier)).name(name) kieSession.insert(Component.builder()
.matchedRule(RuleIdentifier.fromString(ruleIdentifier))
.name(name)
.value(value) .value(value)
.valueDescription("") .valueDescription("")
.references(Collections.emptyList()) .references(Collections.emptyList())