diff --git a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISConnector.java b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISConnector.java index f3c4a6db77b2ff20299a570444ae7f1ef79cb37e..48eecd2a285d0d2dbc018a25ea061848af1c0a69 100644 --- a/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISConnector.java +++ b/jastadd-mquat-eris/src/main/java/de/tudresden/inf/st/mquat/eris/coupling/ERISConnector.java @@ -366,24 +366,34 @@ public class ERISConnector { } } } - logger.debug(" -> config has changed for living partition {}: {}", livingPartition, configHasChanged); + logger.debug(" -> algorithm '1' says config has changed for living partition {}: {}", livingPartition, configHasChanged); // figure out if the config has changed by comparing the new and old config by access path and attributes configHasChanged = false; - if (livingPartition.getConfigurations().size() != configsToUse.size()) { - configHasChanged = true; - } else { - outer: for (ERISLPConfiguration newConfig : configsToUse) { - for (ERISLPConfiguration oldConfig : livingPartition.getConfigurations()) { - if (oldConfig.getAccessPath() == newConfig.getAccessPath() && oldConfig.getAttributesAndKeys().containsAll(newConfig.getAttributesAndKeys())) { - continue outer; - } + outer: + for (ERISLPConfiguration newConfig : configsToUse) { + for (ERISLPConfiguration oldConfig : livingPartition.getConfigurations()) { + if (oldConfig.getAccessPath() == newConfig.getAccessPath() && oldConfig.getAttributesAndKeys().containsAll(newConfig.getAttributesAndKeys())) { + continue outer; } - configHasChanged = true; - break; } + configHasChanged = true; + break; } + + logger.debug(" -> algorithm '2' (the one that decides) says config has changed for living partition {}: {}", livingPartition, configHasChanged); + + logger.debug(" old config"); + for (ERISLPConfiguration oldConfig : livingPartition.getConfigurations()) { + logger.debug(" {}", oldConfig); + } + logger.debug(" new config"); + for (ERISLPConfiguration newConfig : configsToUse) { + logger.debug(" {}", newConfig); + } + + if (configHasChanged) { // write back changed config