List of usage examples for org.springframework.boot.configurationmetadata ConfigurationMetadataGroup getProperties
public Map<String, ConfigurationMetadataProperty> getProperties()
From source file:demo.config.diff.ConfigDiffGenerator.java
private boolean equals(ConfigurationMetadataGroup left, ConfigurationMetadataGroup right) { if (left.getProperties().size() != right.getProperties().size()) { return false; }//from www .j a va2 s. com for (ConfigurationMetadataProperty property : left.getProperties().values()) { if (!right.getProperties().containsKey(property.getId())) { return false; } } return true; }
From source file:demo.config.diff.ConfigDiffGenerator.java
protected ConfigGroupDiff generateGroupDiff(ConfigurationMetadataGroup left, ConfigurationMetadataGroup right) { ConfigGroupDiff group = new ConfigGroupDiff(left.getId(), left, right); List<String> matches = new ArrayList<>(); Map<String, ConfigurationMetadataProperty> leftProperties = left.getProperties(); Map<String, ConfigurationMetadataProperty> rightProperties = right.getProperties(); for (ConfigurationMetadataProperty leftProperty : leftProperties.values()) { String id = leftProperty.getId(); ConfigurationMetadataProperty rightProperty = rightProperties.get(id); if (rightProperty == null) { group.register(ConfigDiffType.DELETE, new ConfigPropertyDiff(leftProperty.getId(), leftProperty, null)); } else {/*from w w w . ja va 2 s. c om*/ matches.add(id); group.register(ConfigDiffType.EQUALS, // NICE: handle diff in property def new ConfigPropertyDiff(leftProperty.getId(), leftProperty, rightProperty)); } } for (ConfigurationMetadataProperty rightProperty : rightProperties.values()) { if (!matches.contains(rightProperty.getId())) { group.register(ConfigDiffType.ADD, new ConfigPropertyDiff(rightProperty.getId(), null, rightProperty)); } } return group; }
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 www.j av a 2s .co m*/ 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; }