+ static LedgerTransactionAccount parseTransactionAccountLine(String line) {
+ Matcher m = reTransactionDetails.matcher(line);
+ if (m.find()) {
+ String postingStatus = m.group(1);
+ String acc_name = m.group(2);
+ String currencyPre = m.group(3);
+ String amount = m.group(4);
+ String currencyPost = m.group(5);
+
+ String currency = null;
+ if ((currencyPre != null) && (currencyPre.length() > 0)) {
+ if ((currencyPost != null) && (currencyPost.length() > 0))
+ return null;
+ currency = currencyPre;
+ }
+ else if ((currencyPost != null) && (currencyPost.length() > 0)) {
+ currency = currencyPost;
+ }
+
+ amount = amount.replace(',', '.');
+
+ return new LedgerTransactionAccount(acc_name, Float.valueOf(amount), currency, null);
+ }
+ else {
+ return null;
+ }
+ }