From b398c70921ecacc45190fad496eaf02617f80d26 Mon Sep 17 00:00:00 2001 From: Maximilian Betz <Maximilian.Betz@awi.de> Date: Fri, 25 Mar 2022 13:58:57 +0100 Subject: [PATCH] some more preparations for local storage --- lib/datamodel.dart | 25 ++++++++++++++++++++++++- lib/main.dart | 2 ++ lib/viewevents.dart | 6 +++--- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/lib/datamodel.dart b/lib/datamodel.dart index 8664c17..ce01356 100644 --- a/lib/datamodel.dart +++ b/lib/datamodel.dart @@ -1,5 +1,7 @@ +import 'dart:convert'; + class Collection { int id; String description; @@ -162,7 +164,7 @@ class EventType{ EventType.fromSensorJson(Map<String, dynamic> json) : id = json['id'], - name = json['generalName']; + name = json['generalName']; EventType.fromJson(Map<String, dynamic> json) : id = json['id'], @@ -291,6 +293,27 @@ abstract class EventStoreBase{ } return count; } + + String getEventDump(){ + String ev = '['; + + for (var event in events) { + ev += jsonEncode(event); + ev += ','; + } + ev += ']'; + return ev; + } + + fromEventDump(dump){ + events = []; + print(dump); + List<dynamic> data = jsonDecode(dump); + for (var entry in data) { + print(entry); + events.add(Event.fromJson(entry)); + } + } } diff --git a/lib/main.dart b/lib/main.dart index f4e9985..339437b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -47,6 +47,8 @@ void main() { //configuration.currentCollection = Collection.fromJson({"id":1,"description":"","collectionName":"FRAM"}); //configuration.initialized = true; + //events.fromEventDump([{"id":102,"urn":"mooring:f9-12","label":"cf","type":"Calibration","typeId":15,"description":"fd","status":"PENDING","startDate":"2022-03-25T12:47:30.659436Z","endDate":"2022-03-25T12:47:30.659436Z","latitude":"","longitude":"","elevation":""},{"id":102,"urn":"mooring:f9-12","label":"cf","type":"Calibration","typeId":15,"description":"fd","status":"PENDING","startDate":"2022-03-25T12:47:32.136009Z","endDate":"2022-03-25T12:47:32.136009Z","latitude":"","longitude":"","elevation":""}]); + runApp(MaterialApp( title: 'Mobile Event Log', diff --git a/lib/viewevents.dart b/lib/viewevents.dart index c8b71ee..df51ebb 100644 --- a/lib/viewevents.dart +++ b/lib/viewevents.dart @@ -59,6 +59,7 @@ class _ViewEvents extends State<ViewEvents> { _sync_status = 'export success'; } } on SocketException catch (e) { + debugPrint('Exception: $e'); _sync_status = 'No connection'; setState(() {}); } catch (e) { @@ -242,9 +243,8 @@ class _ViewEvents extends State<ViewEvents> { icon: null, label: const Text('Sync'), onPressed: () { - for (var event in _events.events){ - debugPrint("Event: " + jsonEncode(event)); - } + debugPrint(_events.getEventDump()); + syncEvents(); }, -- GitLab