Example usage for org.springframework.boot.configurationmetadata ConfigurationMetadataGroup getProperties

List of usage examples for org.springframework.boot.configurationmetadata ConfigurationMetadataGroup getProperties

Introduction

In this page you can find the example usage for org.springframework.boot.configurationmetadata ConfigurationMetadataGroup getProperties.

Prototype

public Map<String, ConfigurationMetadataProperty> getProperties() 

Source Link

Document

Return the ConfigurationMetadataProperty properties defined in this group.

Usage

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;
}