replicant-vendor_cmsdk/host/migration/src/RowParser.java

51 lines
1.8 KiB
Java

import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Created by adnan on 11/17/15.
*/
public class RowParser {
private static final String REGEX = "=(.+)";
private static Pattern p = Pattern.compile(REGEX);
public static Setting parseAndPopulate(boolean fromCursor, String line) {
Setting setting = new Setting();
String[] splitStrings = line.split(",");
for (int i = 0; i < 4; i++) {
Matcher matcher = p.matcher(splitStrings[i]);
while (matcher.find()) {
String value = matcher.group(0).replace("=", "").trim();
switch (i) {
case 0:
setting.setKey(value);
break;
case 1:
//Seriously?
if (fromCursor) {
setting.setKeyType(
Setting.SettingType.mapNumericToType(
Integer.parseInt(value)));
} else {
setting.setKeyType(value);
}
break;
case 2:
setting.setValue(value);
break;
case 3:
//Who the fuck decided to do this?
if (fromCursor) {
setting.setValueType(
Setting.SettingType.mapNumericToType(
Integer.parseInt(value)));
} else {
setting.setValueType(value);
}
break;
}
}
}
return setting;
}
}