Skip to content

Commit 76c74cb

Browse files
committed
CSV export refactor
1 parent 47f2130 commit 76c74cb

3 files changed

Lines changed: 1 addition & 123 deletions

File tree

app/src/main/java/org/gnucash/android/export/ExportAsyncTask.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ private void dismissProgressDialog() {
219219

220220
/**
221221
* Returns an exporter corresponding to the user settings.
222-
* @return Object of one of {@link QifExporter}, {@link OfxExporter} or {@link GncXmlExporter} or {@Link CsvAccountExporter}
222+
* @return Object of one of {@link QifExporter}, {@link OfxExporter} or {@link GncXmlExporter}, {@Link CsvAccountExporter} or {@Link CsvTransactionsExporter}
223223
*/
224224
private Exporter getExporter() {
225225
switch (mExportParams.getExportFormat()) {

app/src/main/java/org/gnucash/android/export/csv/CsvAccountExporter.java

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -16,75 +16,25 @@
1616

1717
package org.gnucash.android.export.csv;
1818

19-
import org.gnucash.android.export.xml.*;
20-
21-
import android.database.Cursor;
2219
import android.database.sqlite.SQLiteDatabase;
23-
import android.net.Uri;
24-
import android.util.Log;
25-
2620
import com.crashlytics.android.Crashlytics;
27-
28-
import org.gnucash.android.app.GnuCashApplication;
29-
import org.gnucash.android.db.DatabaseSchema;
30-
import org.gnucash.android.db.adapter.BooksDbAdapter;
31-
import org.gnucash.android.db.adapter.CommoditiesDbAdapter;
32-
import org.gnucash.android.db.adapter.RecurrenceDbAdapter;
33-
import org.gnucash.android.db.adapter.TransactionsDbAdapter;
34-
import org.gnucash.android.export.ExportFormat;
3521
import org.gnucash.android.export.ExportParams;
3622
import org.gnucash.android.export.Exporter;
3723
import org.gnucash.android.model.Account;
38-
import org.gnucash.android.model.AccountType;
39-
import org.gnucash.android.model.BaseModel;
40-
import org.gnucash.android.model.Book;
41-
import org.gnucash.android.model.Budget;
42-
import org.gnucash.android.model.BudgetAmount;
43-
import org.gnucash.android.model.Commodity;
44-
import org.gnucash.android.model.Money;
45-
import org.gnucash.android.model.PeriodType;
46-
import org.gnucash.android.model.Price;
47-
import org.gnucash.android.model.Recurrence;
48-
import org.gnucash.android.model.ScheduledAction;
49-
import org.gnucash.android.model.Split;
50-
import org.gnucash.android.model.Transaction;
51-
import org.gnucash.android.model.TransactionType;
52-
import org.gnucash.android.util.BookUtils;
53-
import org.gnucash.android.util.TimestampHelper;
54-
import org.xmlpull.v1.XmlPullParserFactory;
55-
import org.xmlpull.v1.XmlSerializer;
5624

5725
import java.io.BufferedOutputStream;
5826
import java.io.FileOutputStream;
5927
import java.io.IOException;
60-
import java.io.OutputStream;
6128
import java.io.OutputStreamWriter;
62-
import java.io.Writer;
63-
import java.math.BigDecimal;
64-
import java.sql.Timestamp;
6529
import java.util.ArrayList;
66-
import java.util.Collection;
6730
import java.util.List;
68-
import java.util.Map;
69-
import java.util.TreeMap;
70-
import java.util.zip.GZIPOutputStream;
71-
72-
import static org.gnucash.android.db.DatabaseSchema.ScheduledActionEntry;
73-
import static org.gnucash.android.db.DatabaseSchema.SplitEntry;
74-
import static org.gnucash.android.db.DatabaseSchema.TransactionEntry;
7531

7632
/**
7733
* Creates a GnuCash CSV account representation of the accounts and transactions
7834
*
7935
* @author Semyannikov Gleb <nightdevgame@gmail.com>
8036
*/
8137
public class CsvAccountExporter extends Exporter{
82-
83-
/**
84-
* Root account for template accounts
85-
*/
86-
private Account mRootTemplateAccount;
87-
private Map<String, Account> mTransactionToTemplateAccountMap = new TreeMap<>();
8838
private char mCsvSeparator;
8939

9040
/**
@@ -156,15 +106,7 @@ public void generateExport(final CsvWriter writer) throws ExporterException {
156106
names.add("tax");
157107
names.add("place_holder");
158108

159-
160-
List<Transaction> transactions = mTransactionsDbAdapter.getAllTransactions();
161-
List<Budget> budgets = mBudgetsDbAdapter.getAllRecords();
162109
List<Account> accounts = mAccountsDbAdapter.getAllRecords();
163-
List<Commodity> commodities = mCommoditiesDbAdapter.getAllRecords();
164-
List<Price> prices = mPricesDbAdapter.getAllRecords();
165-
List<ScheduledAction> scheduledActions = mScheduledActionDbAdapter.getAllRecords();
166-
List<Split> splits = mSplitsDbAdapter.getAllRecords();
167-
168110

169111
for(int i = 0; i < names.size(); i++) {
170112
writer.write(names.get(i) + separator);
@@ -190,14 +132,10 @@ public void generateExport(final CsvWriter writer) throws ExporterException {
190132
writer.write("CURRENCY" + separator);
191133
writer.write(account.isHidden()?"T":"F" + separator);
192134

193-
//Not exactly
194135
writer.write("F" + separator);
195136

196137
writer.write(account.isPlaceholderAccount()?"T":"F" + separator);
197138

198-
199-
//writer.write();
200-
201139
writer.write("\n");
202140
}
203141
} catch (Exception e) {

app/src/main/java/org/gnucash/android/export/csv/CsvTransactionsExporter.java

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -16,66 +16,23 @@
1616

1717
package org.gnucash.android.export.csv;
1818

19-
import org.gnucash.android.export.xml.*;
20-
21-
import android.database.Cursor;
2219
import android.database.sqlite.SQLiteDatabase;
23-
import android.net.Uri;
24-
import android.util.Log;
25-
2620
import com.crashlytics.android.Crashlytics;
2721

28-
import org.gnucash.android.app.GnuCashApplication;
29-
import org.gnucash.android.db.DatabaseSchema;
30-
import org.gnucash.android.db.adapter.BooksDbAdapter;
31-
import org.gnucash.android.db.adapter.CommoditiesDbAdapter;
32-
import org.gnucash.android.db.adapter.RecurrenceDbAdapter;
33-
import org.gnucash.android.db.adapter.TransactionsDbAdapter;
34-
import org.gnucash.android.export.ExportFormat;
3522
import org.gnucash.android.export.ExportParams;
3623
import org.gnucash.android.export.Exporter;
3724
import org.gnucash.android.model.Account;
38-
import org.gnucash.android.model.AccountType;
39-
import org.gnucash.android.model.BaseModel;
40-
import org.gnucash.android.model.Book;
41-
import org.gnucash.android.model.Budget;
42-
import org.gnucash.android.model.BudgetAmount;
43-
import org.gnucash.android.model.Commodity;
44-
import org.gnucash.android.model.Money;
45-
import org.gnucash.android.model.PeriodType;
46-
import org.gnucash.android.model.Price;
47-
import org.gnucash.android.model.Recurrence;
48-
import org.gnucash.android.model.ScheduledAction;
4925
import org.gnucash.android.model.Split;
5026
import org.gnucash.android.model.Transaction;
51-
import org.gnucash.android.model.TransactionType;
52-
import org.gnucash.android.util.BookUtils;
53-
import org.gnucash.android.util.TimestampHelper;
54-
import org.xmlpull.v1.XmlPullParserFactory;
55-
import org.xmlpull.v1.XmlSerializer;
56-
5727
import java.io.BufferedOutputStream;
5828
import java.io.FileOutputStream;
5929
import java.io.IOException;
60-
import java.io.OutputStream;
6130
import java.io.OutputStreamWriter;
62-
import java.io.Writer;
63-
import java.math.BigDecimal;
64-
import java.sql.Timestamp;
6531
import java.text.DateFormat;
6632
import java.text.SimpleDateFormat;
6733
import java.util.ArrayList;
68-
import java.util.Calendar;
69-
import java.util.Collection;
7034
import java.util.Date;
7135
import java.util.List;
72-
import java.util.Map;
73-
import java.util.TreeMap;
74-
import java.util.zip.GZIPOutputStream;
75-
76-
import static org.gnucash.android.db.DatabaseSchema.ScheduledActionEntry;
77-
import static org.gnucash.android.db.DatabaseSchema.SplitEntry;
78-
import static org.gnucash.android.db.DatabaseSchema.TransactionEntry;
7936

8037
/**
8138
* Creates a GnuCash CSV transactions representation of the accounts and transactions
@@ -84,11 +41,6 @@
8441
*/
8542
public class CsvTransactionsExporter extends Exporter{
8643

87-
/**
88-
* Root account for template accounts
89-
*/
90-
private Account mRootTemplateAccount;
91-
private Map<String, Account> mTransactionToTemplateAccountMap = new TreeMap<>();
9244
private char mCsvSeparator;
9345

9446
/**
@@ -164,15 +116,7 @@ public void generateExport(final CsvWriter writer) throws ExporterException {
164116
names.add("To Rate/Price");
165117
names.add("From Rate/Price");
166118

167-
168119
List<Transaction> transactions = mTransactionsDbAdapter.getAllTransactions();
169-
//List<Budget> budgets = mBudgetsDbAdapter.getAllRecords();
170-
//List<Account> accounts = mAccountsDbAdapter.getAllRecords();
171-
//List<Commodity> commodities = mCommoditiesDbAdapter.getAllRecords();
172-
//List<Price> prices = mPricesDbAdapter.getAllRecords();
173-
//List<ScheduledAction> scheduledActions = mScheduledActionDbAdapter.getAllRecords();
174-
//List<Split> splits = mSplitsDbAdapter.getAllRecords();
175-
176120

177121
for(int i = 0; i < names.size(); i++) {
178122
writer.write(names.get(i) + separator);
@@ -206,13 +150,9 @@ public void generateExport(final CsvWriter writer) throws ExporterException {
206150
writer.write(separator);
207151

208152
writer.write(transaction.getDescription() + separator);
209-
210153
writer.write(transaction.getNote() + separator);
211-
212154
writer.write((split.getMemo()==null?"":split.getMemo()) + separator);
213-
214155
writer.write((account_pair.getName()==null?"":account_pair.getName()) + separator);
215-
216156
writer.write((split.getType().name()) + separator);
217157

218158
//Action

0 commit comments

Comments
 (0)