List of usage examples for org.springframework.boot.configurationmetadata ConfigurationMetadataRepository getAllGroups
Map<String, ConfigurationMetadataGroup> getAllGroups();
From source file:demo.config.diff.ConfigDiffGenerator.java
protected ConfigDiffGenerator diffGroup(ConfigDiffResult result, ConfigurationMetadataRepository left, ConfigurationMetadataRepository right) { List<String> matches = new ArrayList<>(); Map<String, ConfigurationMetadataGroup> leftGroups = left.getAllGroups(); Map<String, ConfigurationMetadataGroup> rightGroups = right.getAllGroups(); for (ConfigurationMetadataGroup leftGroup : leftGroups.values()) { String id = leftGroup.getId(); ConfigurationMetadataGroup rightGroup = rightGroups.get(id); if (rightGroup == null) { ConfigGroupDiff groupDiff = new ConfigGroupDiff(id, leftGroup, null); for (ConfigurationMetadataProperty property : leftGroup.getProperties().values()) { groupDiff.register(ConfigDiffType.DELETE, new ConfigPropertyDiff(property.getId(), property, null)); }//from w w w .j a va2 s . c om result.register(ConfigDiffType.DELETE, groupDiff); } else { matches.add(id); ConfigDiffType diffType = (equals(leftGroup, rightGroup) ? ConfigDiffType.EQUALS : ConfigDiffType.MODIFY); result.register(diffType, generateGroupDiff(leftGroup, rightGroup)); } } for (ConfigurationMetadataGroup rightGroup : rightGroups.values()) { if (!matches.contains(rightGroup.getId())) { ConfigGroupDiff groupDiff = new ConfigGroupDiff(rightGroup.getId(), null, rightGroup); for (ConfigurationMetadataProperty property : rightGroup.getProperties().values()) { groupDiff.register(ConfigDiffType.ADD, new ConfigPropertyDiff(property.getId(), null, property)); } result.register(ConfigDiffType.ADD, groupDiff); } } return this; }