public static Xpp3Dom getConfig()

in src/main/java/org/apache/sling/feature/maven/ProjectHelper.java [248:268]


    public static Xpp3Dom getConfig(final Plugin plugin,
            final String name) {
        final Set<Xpp3Dom> values = new HashSet<>();
        final Xpp3Dom config = plugin == null ? null : (Xpp3Dom)plugin.getConfiguration();
        final Xpp3Dom globalNode = (config == null ? null : config.getChild(name));
        if ( globalNode != null && globalNode.getChildCount() > 0 ) {
            values.add(globalNode);
        }
        for(final PluginExecution exec : plugin.getExecutions()) {
            final Xpp3Dom cfg = (Xpp3Dom)exec.getConfiguration();
            final Xpp3Dom pluginNode = (cfg == null ? null : cfg.getChild(name));
            if ( pluginNode != null && pluginNode.getChildCount() > 0 ) {
                values.add(pluginNode);
            }
        }
        if ( values.size() > 1 ) {
            throw new RuntimeException("More than one value configured in plugin (executions) of "
                    + plugin.getKey() + " for " + name + " : " + values);
        }
        return values.isEmpty() ? null : values.iterator().next();
    }