diff options
author | Adnan Begovic <adnan@cyngn.com> | 2015-11-13 15:28:21 -0800 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2015-11-19 19:07:50 -0800 |
commit | d5fdee9833f8a31d5a80749367f7ada7a3e9a904 (patch) | |
tree | bcdd3532f1704367b72d8c82bb2b9f32b71feb41 /host/migration/src/RowParser.java | |
parent | f7f6d141483f98683e18a45307cc4a92b413e018 (diff) | |
download | vendor_cmsdk-d5fdee9833f8a31d5a80749367f7ada7a3e9a904.zip vendor_cmsdk-d5fdee9833f8a31d5a80749367f7ada7a3e9a904.tar.gz vendor_cmsdk-d5fdee9833f8a31d5a80749367f7ada7a3e9a904.tar.bz2 |
testing: Host side settings migration verifier.
See README for usage.
Change-Id: Ibcbd4ee3882097a8d01ca219aeef0130778436f6
Diffstat (limited to 'host/migration/src/RowParser.java')
-rw-r--r-- | host/migration/src/RowParser.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/host/migration/src/RowParser.java b/host/migration/src/RowParser.java new file mode 100644 index 0000000..e1c0de7 --- /dev/null +++ b/host/migration/src/RowParser.java @@ -0,0 +1,50 @@ +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; + } +} |