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 55afb7596ad49668433c488566e77bedc7614ebc..68ef6599ef5411937e1645e0c27f688e53ebcd9c 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 @@ -238,10 +238,12 @@ public class ERISConnector { for (String path : partitionStorageConfigAttributes.keySet()) { + + boolean configChanged = false; + JSONArray storageConfigurationGroups = new JSONArray(); // for each living partition for (List<String> accessPathList : partitionStorageConfigAttributes.get(path).keySet()) { - boolean configChanged = false; for (String attributeId : partitionStorageConfigAttributes.get(path).get(accessPathList)) { if (attributeId.equals("")) continue; @@ -260,37 +262,45 @@ public class ERISConnector { } jsonArrayAttributes.put(attribute); jsonGroup.put("attributes", jsonArrayAttributes); - if (!jsonArrayAttributes.isEmpty() && configChanged) { + if (!jsonArrayAttributes.isEmpty()) { storageConfigurationGroups.put(jsonGroup); } } } - result.put("storageConfigurationGroups", storageConfigurationGroups); - // send result - logger.info("Sending result: {}", result); - if (path.equals("Config/Linkage/")) - continue; - try { - StringEntity params = new StringEntity(result.toString()); - URI uri = new URIBuilder() - .setHost(ERIS_URL) - .setScheme("http") - .setPath("swctrl/lp/" + path) - .setParameter("id", sessionID) - .build(); - HttpPost post = new HttpPost(uri); - post.setEntity(params); + result.put("storageConfigurationGroups", storageConfigurationGroups); - String serverResponse = writeResult(post); - logger.info("Server responded with: {}", serverResponse); + if (storageConfigurationGroups.isEmpty() || !configChanged) { + logger.info("Not sending empty storage configuration groups. Config changed: {}, result {}", configChanged, result); + } else { + // send result + logger.info("Sending result: {}", result); + if (path.equals("Config/Linkage/")) + continue; + try { + StringEntity params = new StringEntity(result.toString()); + + URI uri = new URIBuilder() + .setHost(ERIS_URL) + .setScheme("http") + .setPath("swctrl/lp/" + path) + .setParameter("id", sessionID) + .build(); + HttpPost post = new HttpPost(uri); + post.setEntity(params); - } catch (UnsupportedEncodingException | URISyntaxException e) { - logger.error("Getting living partition failed: {}", e.getMessage()); - throw new RuntimeException(e); + String serverResponse = writeResult(post); + logger.info("Server responded with: {}", serverResponse); + + } catch (UnsupportedEncodingException | URISyntaxException e) { + logger.error("Getting living partition failed: {}", e.getMessage()); + throw new RuntimeException(e); + } } + + } }