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 0aff1e06d8c29dcd147073e0c76e4243bbaed011..f3c4a6db77b2ff20299a570444ae7f1ef79cb37e 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 @@ -368,6 +368,22 @@ public class ERISConnector { } logger.debug(" -> 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; + } + } + configHasChanged = true; + break; + } + } + if (configHasChanged) { // write back changed config