Skip to content

Commit de5f86f

Browse files
Christopher-Chianellitriceo
authored andcommitted
fix: included grouped variables in entityToVariableReferenceMap
1 parent 44bcb9c commit de5f86f

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

core/src/main/java/ai/timefold/solver/core/impl/domain/variable/declarative/DefaultVariableReferenceGraph.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,16 @@ public DefaultVariableReferenceGraph(VariableReferenceGraphBuilder<Solution_> ou
1919

2020
var entityToVariableReferenceMap = new IdentityHashMap<Object, List<GraphNode<Solution_>>>();
2121
for (var instance : nodeList) {
22-
var entity = instance.entity();
23-
entityToVariableReferenceMap.computeIfAbsent(entity, ignored -> new ArrayList<>())
24-
.add(instance);
22+
if (instance.groupEntityIds() == null) {
23+
var entity = instance.entity();
24+
entityToVariableReferenceMap.computeIfAbsent(entity, ignored -> new ArrayList<>())
25+
.add(instance);
26+
} else {
27+
for (var groupEntity : instance.variableReferences().get(0).groupEntities()) {
28+
entityToVariableReferenceMap.computeIfAbsent(groupEntity, ignored -> new ArrayList<>())
29+
.add(instance);
30+
}
31+
}
2532
}
2633
// Immutable optimized version of the map, now that it won't be updated anymore.
2734
var immutableEntityToVariableReferenceMap = mapOfListsDeepCopyOf(entityToVariableReferenceMap);

0 commit comments

Comments
 (0)