in parser/split/src/main/java/org/apache/karaf/decanter/parser/split/SplitParser.java [55:104]
public Map<String, Object> parse(String key, String line) {
Map<String, Object> map = new HashMap<>();
boolean isByPassed = false;
if (line != null) {
String[] valuesArray = line.split(separator);
String[] keysArray;
if (this.keys != null) {
keysArray = this.keys.split(",");
if (keysArray.length != valuesArray.length) {
if (useDefaultKey) {
LOGGER.warn("keys count and values count don't match, using default key ID");
keysArray = new String[valuesArray.length];
for (int i = 0; i < valuesArray.length; i++) {
keysArray[i] = "key-" + i;
}
} else {
LOGGER.warn("keys count and values count don't match, bypassing default key ID");
isByPassed = true;
}
}
} else {
keysArray = new String[valuesArray.length];
for (int i = 0; i < valuesArray.length; i++) {
keysArray[i] = "key-" + i;
}
}
if (!isByPassed) {
for (int i = 0; i < valuesArray.length; i++) {
try {
map.put(keysArray[i], Integer.parseInt(valuesArray[i]));
continue;
} catch (Exception e) {
// nothing to do
}
try {
map.put(keysArray[i], Long.parseLong(valuesArray[i]));
continue;
} catch (Exception e) {
// nothing to do
}
// if not integer and long value
map.put(keysArray[i], valuesArray[i]);
}
}
}
return map;
}