Skip to content

Commit 40cfaf0

Browse files
committed
Merge branch 'master' into flavor-nigeria-dcis
2 parents ca9fbbe + 87eed43 commit 40cfaf0

File tree

8 files changed

+305
-249
lines changed

8 files changed

+305
-249
lines changed

opensrp-chw/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -257,8 +257,8 @@ android {
257257
resConfigs "en", "fr"
258258
dimension = 'baseDimension'
259259
applicationIdSuffix ".drc"
260-
versionCode 10
261-
versionName "1.0.15"
260+
versionCode 11
261+
versionName "1.0.16"
262262
buildConfigField "String", 'opensrp_url', '"https://wcaro-cd.smartregister.org/opensrp/"'
263263
buildConfigField "String", 'guidebooks_url', '"https://opensrp.s3.amazonaws.com/media/drc/"'
264264
buildConfigField "String", 'opensrp_url_preview', '"https://wcaro-cd-preview.smartregister.org/opensrp/"'
@@ -270,7 +270,7 @@ android {
270270
buildConfigField "String", 'DEFAULT_LOCATION', '"VILLAGE/COMMUNAUTE"'
271271
buildConfigField "int", "MAX_CONNECTION_TIMEOUT", '5'
272272
buildConfigField "int", "MAX_READ_TIMEOUT", '5'
273-
buildConfigField "int", "DATABASE_VERSION", '11'
273+
buildConfigField "int", "DATABASE_VERSION", '12'
274274
}
275275
nigeria {
276276
dimension = 'baseDimension'
@@ -401,7 +401,7 @@ dependencies {
401401
//For viewing PDFs in the app
402402
implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
403403

404-
implementation 'com.github.lecho:hellocharts-android:v1.5.8@aar'
404+
implementation 'com.github.lecho:hellocharts-android:1.5.8@aar'
405405

406406
testImplementation "org.koin:koin-test:2.0.1"
407407
testImplementation 'junit:junit:4.13'

opensrp-chw/src/chad/java/org/smartregister/chw/repository/ChwRepositoryFlv.java

Lines changed: 1 addition & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,28 @@
11
package org.smartregister.chw.repository;
22

3-
import static org.smartregister.repository.BaseRepository.TYPE_Synced;
4-
import static org.smartregister.repository.BaseRepository.TYPE_Valid;
5-
63
import android.content.Context;
74

8-
import net.sqlcipher.Cursor;
95
import net.sqlcipher.database.SQLiteDatabase;
106

11-
import org.apache.commons.lang3.StringUtils;
12-
import org.json.JSONObject;
137
import org.smartregister.chw.anc.repository.VisitRepository;
14-
import org.smartregister.chw.application.ChwApplication;
158
import org.smartregister.chw.util.ChildDBConstants;
169
import org.smartregister.chw.util.RepositoryUtils;
17-
import org.smartregister.domain.Event;
1810
import org.smartregister.domain.db.Column;
1911
import org.smartregister.immunization.repository.RecurringServiceRecordRepository;
2012
import org.smartregister.immunization.repository.VaccineRepository;
2113
import org.smartregister.immunization.util.IMDatabaseUtils;
2214
import org.smartregister.reporting.ReportingLibrary;
2315
import org.smartregister.repository.AlertRepository;
2416
import org.smartregister.repository.EventClientRepository;
25-
import org.smartregister.sync.helper.ECSyncHelper;
2617

27-
import java.util.ArrayList;
2818
import java.util.Arrays;
2919
import java.util.Collections;
30-
import java.util.List;
3120

3221
import timber.log.Timber;
3322

3423
public class ChwRepositoryFlv {
3524

3625
private static final String TAG = ChwRepositoryFlv.class.getCanonicalName();
37-
private static final String EVENT_ID = "id";
38-
private static final String _ID = "_id";
3926

4027
public static void onUpgrade(Context context, SQLiteDatabase db, int oldVersion, int newVersion) {
4128
Timber.w(ChwRepository.class.getName(),
@@ -98,7 +85,6 @@ private static void upgradeToVersion14(SQLiteDatabase db) {
9885
}
9986
}
10087

101-
10288
private static void upgradeToVersion2(Context context, SQLiteDatabase db) {
10389
try {
10490
db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_EVENT_ID_COL);
@@ -225,72 +211,7 @@ private static void upgradeToVersion11(Context context, SQLiteDatabase db) {
225211
}
226212

227213
private static void upgradeToVersion15(SQLiteDatabase db) {
228-
List<Event> events = new ArrayList<>();
229-
String eventTableName = EventClientRepository.Table.event.name();
230-
String eventIdCol = EventClientRepository.event_column.eventId.name();
231-
String eventSyncStatusCol = EventClientRepository.event_column.syncStatus.name();
232-
String eventValidCol = EventClientRepository.event_column.validationStatus.name();
233-
String jsonCol = EventClientRepository.event_column.json.name();
234-
String formSubmissionCol = EventClientRepository.event_column.formSubmissionId.name();
235-
236-
Cursor cursor;
237-
String selection = eventIdCol + " IS NULL AND " + eventValidCol + " = ?";
238-
try {
239-
cursor = db.query(eventTableName, new String[]{jsonCol},
240-
selection, new String[]{TYPE_Valid}, null, null, null);
241-
events = readEvents(cursor);
242-
} catch (Exception ex) {
243-
Timber.e(ex);
244-
}
245-
String updateSQL;
246-
for (Event event : events) {
247-
updateSQL = String.format("UPDATE %s SET %s = '%s', %s = '%s' WHERE %s = '%s';", eventTableName,
248-
eventIdCol, event.getEventId(), eventSyncStatusCol, TYPE_Synced, formSubmissionCol, event.getFormSubmissionId());
249-
try {
250-
db.execSQL(updateSQL);
251-
} catch (Exception e) {
252-
Timber.e(e, "upgradeToVersion21 ");
253-
}
254-
}
255-
}
256-
257-
private static List<Event> readEvents(Cursor cursor) {
258-
List<Event> events = new ArrayList<>();
259-
ECSyncHelper syncHelper = ChwApplication.getInstance().getEcSyncHelper();
260-
try {
261-
if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()) {
262-
while (!cursor.isAfterLast()) {
263-
String json = cursor.getString(cursor.getColumnIndex("json"));
264-
Event event = syncHelper.convert(new JSONObject(json), Event.class);
265-
event.setEventId(getEventId(json));
266-
events.add(event);
267-
cursor.moveToNext();
268-
}
269-
}
270-
} catch (Exception e) {
271-
Timber.e(e);
272-
} finally {
273-
cursor.close();
274-
}
275-
return events;
276-
}
277-
278-
private static String getEventId(String jsonString) {
279-
JSONObject jsonObject;
280-
String eventId = null;
281-
if (StringUtils.isNotEmpty(jsonString)) {
282-
try {
283-
jsonObject = new JSONObject(jsonString);
284-
if (jsonObject.has(EVENT_ID)) {
285-
eventId = jsonObject.getString(EVENT_ID);
286-
} else if (jsonObject.has(_ID)) {
287-
eventId = jsonObject.getString(_ID);
288-
}
289-
} catch (Exception ex) {
290-
Timber.e(ex);
291-
}
292-
}
293-
return eventId;
214+
RepositoryUtils.updateNullEventIds(db);
294215
}
295216

296217
private static void initializeIndicatorDefinitions(ReportingLibrary reportingLibrary, SQLiteDatabase sqLiteDatabase) {

opensrp-chw/src/drc/java/org/smartregister/chw/repository/ChwRepositoryFlv.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,22 +45,16 @@ public static void onUpgrade(Context context, SQLiteDatabase db, int oldVersion,
4545
case 11:
4646
upgradeToVersion11(db);
4747
break;
48+
case 12:
49+
upgradeToVersion12(db);
50+
break;
4851
default:
4952
break;
5053
}
5154
upgradeTo++;
5255
}
5356
}
5457

55-
private static void upgradeToVersion11(SQLiteDatabase db) {
56-
try {
57-
db.execSQL("ALTER TABLE ec_family_member ADD COLUMN marital_status VARCHAR;");
58-
} catch (Exception e) {
59-
Timber.e(e, "upgradeToVersion11");
60-
}
61-
}
62-
63-
6458
private static void upgradeToVersion2(Context context, SQLiteDatabase db) {
6559
try {
6660
db.execSQL(VaccineRepository.UPDATE_TABLE_ADD_EVENT_ID_COL);
@@ -159,4 +153,16 @@ private static void upgradeToVersion10(Context context, SQLiteDatabase db) {
159153
Timber.e(e);
160154
}
161155
}
156+
157+
private static void upgradeToVersion11(SQLiteDatabase db) {
158+
try {
159+
db.execSQL("ALTER TABLE ec_family_member ADD COLUMN marital_status VARCHAR;");
160+
} catch (Exception e) {
161+
Timber.e(e, "upgradeToVersion11");
162+
}
163+
}
164+
165+
private static void upgradeToVersion12(SQLiteDatabase db) {
166+
RepositoryUtils.updateNullEventIds(db);
167+
}
162168
}

opensrp-chw/src/liberia/java/org/smartregister/chw/repository/ChwRepositoryFlv.java

Lines changed: 1 addition & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,25 @@
11
package org.smartregister.chw.repository;
22

3-
import static org.smartregister.repository.BaseRepository.TYPE_Synced;
4-
import static org.smartregister.repository.BaseRepository.TYPE_Valid;
5-
63
import android.content.Context;
74

8-
import net.sqlcipher.Cursor;
95
import net.sqlcipher.database.SQLiteDatabase;
106

11-
import org.apache.commons.lang3.StringUtils;
12-
import org.json.JSONObject;
137
import org.smartregister.chw.anc.repository.VisitRepository;
14-
import org.smartregister.chw.application.ChwApplication;
158
import org.smartregister.chw.util.RepositoryUtils;
16-
import org.smartregister.domain.Event;
179
import org.smartregister.domain.db.Column;
1810
import org.smartregister.immunization.repository.RecurringServiceRecordRepository;
1911
import org.smartregister.immunization.repository.VaccineRepository;
2012
import org.smartregister.immunization.util.IMDatabaseUtils;
2113
import org.smartregister.reporting.ReportingLibrary;
2214
import org.smartregister.repository.AlertRepository;
2315
import org.smartregister.repository.EventClientRepository;
24-
import org.smartregister.sync.helper.ECSyncHelper;
2516

26-
import java.util.ArrayList;
2717
import java.util.Arrays;
2818
import java.util.Collections;
29-
import java.util.List;
3019

3120
import timber.log.Timber;
3221

3322
public class ChwRepositoryFlv {
34-
private static final String EVENT_ID = "id";
35-
private static final String _ID = "_id";
3623

3724
public static void onUpgrade(Context context, SQLiteDatabase db, int oldVersion, int newVersion) {
3825
Timber.w(ChwRepository.class.getName(),
@@ -165,71 +152,6 @@ private static void upgradeToVersion7(SQLiteDatabase db) {
165152
}
166153

167154
private static void upgradeToVersion8(SQLiteDatabase db) {
168-
List<Event> events = new ArrayList<>();
169-
String eventTableName = EventClientRepository.Table.event.name();
170-
String eventIdCol = EventClientRepository.event_column.eventId.name();
171-
String eventSyncStatusCol = EventClientRepository.event_column.syncStatus.name();
172-
String eventValidCol = EventClientRepository.event_column.validationStatus.name();
173-
String jsonCol = EventClientRepository.event_column.json.name();
174-
String formSubmissionCol = EventClientRepository.event_column.formSubmissionId.name();
175-
176-
Cursor cursor;
177-
String selection = eventIdCol + " IS NULL AND " + eventValidCol + " = ?";
178-
try {
179-
cursor = db.query(eventTableName, new String[]{jsonCol},
180-
selection, new String[]{TYPE_Valid}, null, null, null);
181-
events = readEvents(cursor);
182-
} catch (Exception ex) {
183-
Timber.e(ex);
184-
}
185-
String updateSQL;
186-
for (Event event : events) {
187-
updateSQL = String.format("UPDATE %s SET %s = '%s', %s = '%s' WHERE %s = '%s';", eventTableName,
188-
eventIdCol, event.getEventId(), eventSyncStatusCol, TYPE_Synced, formSubmissionCol, event.getFormSubmissionId());
189-
try {
190-
db.execSQL(updateSQL);
191-
} catch (Exception e) {
192-
Timber.e(e, "upgradeToVersion21 ");
193-
}
194-
}
195-
}
196-
197-
private static List<Event> readEvents(Cursor cursor) {
198-
List<Event> events = new ArrayList<>();
199-
ECSyncHelper syncHelper = ChwApplication.getInstance().getEcSyncHelper();
200-
try {
201-
if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()) {
202-
while (!cursor.isAfterLast()) {
203-
String json = cursor.getString(cursor.getColumnIndex("json"));
204-
Event event = syncHelper.convert(new JSONObject(json), Event.class);
205-
event.setEventId(getEventId(json));
206-
events.add(event);
207-
cursor.moveToNext();
208-
}
209-
}
210-
} catch (Exception e) {
211-
Timber.e(e);
212-
} finally {
213-
cursor.close();
214-
}
215-
return events;
216-
}
217-
218-
private static String getEventId(String jsonString) {
219-
JSONObject jsonObject;
220-
String eventId = null;
221-
if (StringUtils.isNotEmpty(jsonString)) {
222-
try {
223-
jsonObject = new JSONObject(jsonString);
224-
if (jsonObject.has(EVENT_ID)) {
225-
eventId = jsonObject.getString(EVENT_ID);
226-
} else if (jsonObject.has(_ID)) {
227-
eventId = jsonObject.getString(_ID);
228-
}
229-
} catch (Exception ex) {
230-
Timber.e(ex);
231-
}
232-
}
233-
return eventId;
155+
RepositoryUtils.updateNullEventIds(db);
234156
}
235157
}

0 commit comments

Comments
 (0)