Fixed issue with all events being uploaded as WARNING type even if they contain ALARM events. Fixes #37
This commit is contained in:
@@ -661,43 +661,48 @@ public class LogManager {
|
|||||||
//int eventId = -1;
|
//int eventId = -1;
|
||||||
Log.v(TAG, "uploadSdData()");
|
Log.v(TAG, "uploadSdData()");
|
||||||
// First try uploading full alarms, and only if we do not have any of those, upload warnings.
|
// First try uploading full alarms, and only if we do not have any of those, upload warnings.
|
||||||
getNextEventToUpload(true, (Long eventId) -> {
|
boolean warningsArr[] = { false, true };
|
||||||
if (eventId != -1) {
|
for (int n=0; n<warningsArr.length; n++) {
|
||||||
Log.v(TAG, "uploadSdData() - eventId=" + eventId);
|
boolean warningsVal = warningsArr[n];
|
||||||
String eventJsonStr = getDatapointById(eventId);
|
Log.i(TAG, "uploadSdData(): warningsVal=" + warningsVal);
|
||||||
Log.v(TAG, "uploadSdData() - eventJsonStr=" + eventJsonStr);
|
getNextEventToUpload(warningsVal, (Long eventId) -> {
|
||||||
//int eventType;
|
if (eventId != -1) {
|
||||||
JSONObject eventObj;
|
Log.v(TAG, "uploadSdData() - eventId=" + eventId);
|
||||||
int eventAlarmStatus;
|
String eventJsonStr = getDatapointById(eventId);
|
||||||
String eventDateStr;
|
Log.v(TAG, "uploadSdData() - eventJsonStr=" + eventJsonStr);
|
||||||
Date eventDate;
|
//int eventType;
|
||||||
try {
|
JSONObject eventObj;
|
||||||
JSONArray datapointJsonArr = new JSONArray(eventJsonStr);
|
int eventAlarmStatus;
|
||||||
eventObj = datapointJsonArr.getJSONObject(0); // We only look at the first (and hopefully only) item in the array.
|
String eventDateStr;
|
||||||
eventAlarmStatus = Integer.parseInt(eventObj.getString("status"));
|
Date eventDate;
|
||||||
eventDateStr = eventObj.getString("dataTime");
|
try {
|
||||||
Log.v(TAG, "uploadSdData - data from local DB is:" + eventJsonStr + ", eventAlarmStatus="
|
JSONArray datapointJsonArr = new JSONArray(eventJsonStr);
|
||||||
+ eventAlarmStatus + ", eventDateStr=" + eventDateStr);
|
eventObj = datapointJsonArr.getJSONObject(0); // We only look at the first (and hopefully only) item in the array.
|
||||||
} catch (JSONException e) {
|
eventAlarmStatus = Integer.parseInt(eventObj.getString("status"));
|
||||||
Log.e(TAG, "ERROR parsing event JSON Data" + eventJsonStr);
|
eventDateStr = eventObj.getString("dataTime");
|
||||||
e.printStackTrace();
|
Log.v(TAG, "uploadSdData - data from local DB is:" + eventJsonStr + ", eventAlarmStatus="
|
||||||
return;
|
+ eventAlarmStatus + ", eventDateStr=" + eventDateStr);
|
||||||
} catch (NullPointerException e) {
|
} catch (JSONException e) {
|
||||||
Log.e(TAG, "ERROR null pointer exception parsing event JSON Data" + eventJsonStr);
|
Log.e(TAG, "ERROR parsing event JSON Data" + eventJsonStr);
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
return;
|
return;
|
||||||
|
} catch (NullPointerException e) {
|
||||||
|
Log.e(TAG, "ERROR null pointer exception parsing event JSON Data" + eventJsonStr);
|
||||||
|
e.printStackTrace();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
eventDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(eventDateStr);
|
||||||
|
} catch (ParseException e) {
|
||||||
|
Log.e(TAG, "Error parsing date " + eventDateStr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mWac.createEvent(eventAlarmStatus, eventDate, "", this::createEventCallback);
|
||||||
|
} else {
|
||||||
|
Log.v(TAG, "UploadSdData - no data to upload");
|
||||||
}
|
}
|
||||||
try {
|
});
|
||||||
eventDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(eventDateStr);
|
}
|
||||||
} catch (ParseException e) {
|
|
||||||
Log.e(TAG, "Error parsing date " + eventDateStr);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
mWac.createEvent(eventAlarmStatus, eventDate, "", this::createEventCallback);
|
|
||||||
} else {
|
|
||||||
Log.v(TAG, "UploadSdData - no data to upload");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user