in src/main/java/org/apache/sling/provisioning/model/io/ModelReader.java [402:430]
private Map<String, String> parseParameters(final String line, final String[] allowedParameters) throws IOException {
final Map<String, String>parameters = new HashMap<String, String>();
final String[] keyValuePairs = line.split(" ");
for(String kv : keyValuePairs) {
kv = kv.trim();
if ( !kv.isEmpty() ) {
final int sep = kv.indexOf('=');
if ( sep == -1 ) {
throw new IOException(exceptionPrefix + "Invalid parameter definition in line " + this.lineNumberReader.getLineNumber() + ": " + line);
}
final String key = kv.substring(0, sep).trim();
parameters.put(key, kv.substring(sep + 1).trim());
if ( allowedParameters != null ) {
boolean found = false;
for(final String allowed : allowedParameters) {
if ( key.equals(allowed) ) {
found = true;
break;
}
}
if ( !found ) {
throw new IOException(exceptionPrefix + "Invalid parameter " + key + " in line " + this.lineNumberReader.getLineNumber());
}
}
}
}
return parameters;
}