public static void resolveVariables()

in src/main/java/org/apache/sling/feature/builder/FeatureBuilder.java [231:251]


    public static void resolveVariables(final Feature feature, final Map<String,String> additionalVariables) {
        for(final Configuration cfg : feature.getConfigurations()) {
        	final Set<String> keys = new HashSet<>(Collections.list(cfg.getProperties().keys()));
        	for(final String key : keys) {
                final Object value = cfg.getProperties().get(key);
                if ( value instanceof String ) {
                    cfg.getProperties().put(key, replaceVariables((String)value, additionalVariables, feature));
                } else if ( value instanceof String[]) {
                    final String[] values = (String[]) value;
                    for(int i=0;i<values.length;i++) {
                        values[i] = replaceVariables(values[i], additionalVariables, feature);
                    }
                    cfg.getProperties().put(key, values);
                }
            }
        }
        for(final Map.Entry<String, String> entry : feature.getFrameworkProperties().entrySet()) {
            // the  value is always a string
            entry.setValue(replaceVariables(entry.getValue(), additionalVariables, feature));
        }
    }