in parser/regex/src/main/java/org/apache/karaf/decanter/parser/regex/RegexParser.java [56:96]
public Map<String, Object> parse(String key, String line) {
Map<String, Object> data = new HashMap<>();
if (line != null) {
Matcher matcher = pattern.matcher(line);
String[] keysArray;
if (keys != null) {
keysArray = keys.split(",");
if (keysArray.length != matcher.groupCount()) {
LOGGER.warn("keys count and regex groups count don't match, using default keys ID");
keysArray = new String[matcher.groupCount()];
for (int i = 0; i < keysArray.length; i++) {
keysArray[i] = "key-" + i;
}
}
} else {
keysArray = new String[matcher.groupCount()];
for (int i = 0; i < keysArray.length; i++) {
keysArray[i] = "key-" + i;
}
}
if (matcher.find()) {
for (int i = 0; i < matcher.groupCount(); i++) {
try {
data.put(keysArray[i], Integer.parseInt(matcher.group(i + 1)));
continue;
} catch (Exception e) {
// nothing to do
}
try {
data.put(keysArray[i], Long.parseLong(matcher.group(i + 1)));
continue;
} catch (Exception e) {
// nothing to do
}
data.put(keysArray[i], matcher.group(i + 1));
}
}
}
return data;
}