public ConfigurationNode combine(ConfigurationNode node1, ConfigurationNode node2) ViewNode result = createViewNode(); result.setName(node1.getName()); result.setValue(node1.getValue()); addAttributes(result, node1, node2); for (ConfigurationNode child1 : node1.getChildren()) ConfigurationNode child2 = canCombine(node1, node2, child1, children2); if (child2 != null) result.addChild(combine(child1, child2)); children2.remove(child2);
if (nodes.size() > 1 && !isListNode(child))
private static Configuration getConfiguration(String configurationFile) throws ConfigurationException { Path config = RodaCoreFactory.getConfigPath().resolve(configurationFile); NodeCombiner combiner = new MergeCombiner(); CombinedConfiguration cc = new CombinedConfiguration(combiner); if (FSUtils.exists(config)) { cc.addConfiguration(getExternalConfiguration(config)); } cc.addConfiguration(getInternalConfiguration(configurationFile)); // do variable interpolation Configuration configuration = cc.interpolatedConfiguration(); return configuration; }
mergedSettings.setNodeCombiner(new MergeCombiner());
public ConfigurationNode combine(ConfigurationNode node1, ConfigurationNode node2) ViewNode result = createViewNode(); result.setName(node1.getName()); result.setValue(node1.getValue()); addAttributes(result, node1, node2); for (ConfigurationNode child1 : node1.getChildren()) ConfigurationNode child2 = canCombine(node1, node2, child1, children2); if (child2 != null) result.addChild(combine(child1, child2)); children2.remove(child2);
if (nodes.size() > 1 && !isListNode(child))