2
.import "dateExt.js" as DateExt
3
.import "dataService.js" as DataService
5
function clearData(tx) {
10
delete from Attendance;\
13
for (var i = 0; i < deletes.length; ++i)
14
tx.executeSql(deletes[i])
17
function loadTestDataSimple(tx)
22
insert into Contact(id, name, surname) values (1, "John", "Smith");\
23
insert into Contact(id, name, surname) values (2, "Jane", "Smith");\
24
insert into Contact(id, name, surname, avatar) values (3, "Frank", "Mertens", "http://www.gravatar.com/avatar/6d96fd4a98bba7b8779661d5db391ab6");\
25
insert into Contact(id, name, surname) values (4, "Kunal", "Parmar");\
26
insert into Contact(id, name, surname) values (5, "Mario", "Boikov");\
27
insert into Place(id, name, address) values (1, "Quan Sen", "Pasing Arcaden, München");\
28
insert into Place(id, name, address) values (2, "Jashan", "Landsberger Straße 84, 82110 Germering");\
29
insert into Place(id, name, latitude, longitude) values (3, "Café Moskau", 52.521339, 13.42279);\
30
insert into Place(id, name, address) values (4, "Santa Clara Marriott", "2700 Mission College Boulevard, Santa Clara, California");\
31
insert into Place(id, name, address) values (5, "embeddedworld", "Messezentrum, 90471 Nürnberg");\
32
insert into Event(id, title, message, startTime, endTime) values (1, "Team Meeting", "Bring your gear...", 1364648400000, 1364650200000);\
33
insert into Event(id, title, message, startTime, endTime) values (2, "Jane\'s Birthday Party", "this year: southern wine", 1364061600000, 1364068800000);\
34
insert into Event(id, title, startTime, endTime) values (3, "embeddedworld 2013", 1361836800000, 1362009600000);\
35
insert into Attendance(eventId, contactId, placeId) values (1, 1, 1);\
36
insert into Attendance(eventId, contactId, placeId) values (1, 2, 1);\
37
insert into Attendance(eventId, contactId, placeId) values (1, 3, 1);\
38
insert into Attendance(eventId, contactId, placeId) values (1, 4, 3);\
39
insert into Attendance(eventId, contactId, placeId) values (1, 5, 3);\
40
insert into Attendance(eventId, contactId) values (2, 1);\
41
insert into Attendance(eventId, contactId) values (2, 2);\
42
insert into Attendance(eventId, contactId) values (2, 3);\
43
insert into Venue(eventId, placeId) values (2, 3);\
44
insert into Venue(eventId, placeId) values (3, 5)\
47
for (var i = 0; i < inserts.length; ++i) {
56
function loadTestDataComplex(tx)
61
if (typeof t.today == "undefined") t.today = new Date().midnight()
62
return t.today.addDays(d).setHours(h, m)
66
{ id: 1, name: "Moskau A" },
67
{ id: 2, name: "Moskau B" },
68
{ id: 3, name: "Bischkek" },
69
{ id: 4, name: "Asgabat A" },
70
{ id: 5, name: "Asgabat B" },
71
{ id: 6, name: "Vilnius" },
72
{ id: 7, name: "Riga" }
76
{ id: 1, name: "Sean", surname: "Harmer" },
77
{ id: 2, name: "Marc", surname: "Lutz" },
78
{ id: 3, name: "David", surname: "Faure" },
79
{ id: 4, name: "Volker", surname: "Krause" },
80
{ id: 5, name: "Kevin", surname: "Krammer" },
81
{ id: 6, name: "Tobias", surname: "Nätterlund" },
82
{ id: 7, name: "Steffen", surname: "Hansen" },
83
{ id: 8, name: "Tommi", surname: "Laitinen" },
84
{ id: 9, name: "Lars", surname: "Knoll" },
85
{ id: 10, name: "Roland", surname: "Krause" },
86
{ id: 11, name: "Jens", surname: "Bache-Wiig" },
87
{ id: 12, name: "Michael", surname: "Wagner" },
88
{ id: 13, name: "Helmut", surname: "Sedding" },
89
{ id: 14, name: "Jeff", surname: "Tranter" },
90
{ id: 15, name: "Simon", surname: "Hausmann" },
91
{ id: 16, name: "Stephen", surname: "Kelly" },
92
{ id: 17, name: "Tam", surname: "Hanna" },
93
{ id: 18, name: "Mirko", surname: "Boehm" },
94
{ id: 19, name: "Till", surname: "Adam" },
95
{ id: 20, name: "Thomas", surname: "Senyk" }
99
{ id: 1, room: 1, speaker: [ 1 ], title: "Modern OpenGL with Qt5", message: "hands-on training", startTime: t(0, 10, 00), endTime: t(0, 12 ,00) },
100
{ id: 2, room: 2, speaker: [ 2 ], title: "What's new in C++11", message: "focus on Qt5", startTime: t(0, 13, 00), endTime: t(0, 14, 30) },
101
{ id: 3, room: 3, speaker: [ 3 ], title: "Model/view Programming using Qt", message: "hands-on training", startTime: t(0, 14, 45), endTime: t(0, 16, 15) },
102
{ id: 4, room: 4, speaker: [ 4 ], title: "Introduction to Qt Quick", message: "hands-on training", startTime: t(0, 16, 30), endTime: t(0, 17, 45) },
103
{ id: 5, room: 1, speaker: [ 8 ], title: "Keynote: Qt – Gearing up for the Future", message: "", startTime: t(1, 9, 15), endTime: t(1, 9, 30) },
104
{ id: 6, room: 1, speaker: [ 9 ], title: "Keynote: Qt 5 Roadmap", message: "", startTime: t(1, 9, 30), endTime: t(1, 10, 30) },
105
{ id: 7, room: 3, speaker: [ 10 ], title: "Qt and the Google APIs", message: "", startTime: t(1, 10, 45), endTime: t(1, 11, 45) },
106
{ id: 8, room: 7, speaker: [ 11 ], title: "Desktop Components for QtQuick", message: "", startTime: t(1, 10, 45), endTime: t(1, 11, 45) },
107
{ id: 9, room: 2, speaker: [ 9 ], title: "The Future of Qt on Embedded Linux", message: "", startTime: t(1, 12, 45), endTime: t(1, 13, 45) },
108
{ id: 10, room: 7, speaker: [ 12, 13 ], title: "QML for desktop apps", message: "", startTime: t(1, 12, 45), endTime: t(1, 13, 34) },
109
{ id: 11, room: 2, speaker: [ 14 ], title: "Qt on Raspberry Pi", message: "", startTime: t(1, 14, 00), endTime: t(1, 15, 00) },
110
{ id: 12, room: 3, speaker: [ 15 ], title: "What's new in QtWebKit in 5.0", message: "", startTime: t(1, 14, 00), endTime: t(1, 15, 00) },
111
{ id: 13, room: 1, speaker: [ 16 ], title: "In Depth – QMetaType and QMetaObject", message: "", startTime: t(1, 15, 30), endTime: t(1, 16, 30) },
112
{ id: 14, room: 2, speaker: [ 17 ], title: "Using Qt as mobile cross-platform system", message: "", startTime: t(1, 15, 30), endTime: t(1, 16, 30) },
113
{ id: 15, room: 1, speaker: [ 18, 19 ], title: "Intentions good, warranty void: Using Qt in unexpected ways", message: "", startTime: t(1, 16, 45), endTime: t(1, 17, 45) },
114
{ id: 16, room: 2, speaker: [ 20 ], title: "Porting Qt 5 to embedded hardware", message: "", startTime: t(1, 16, 45), endTime: t(1, 17, 45) }
117
for (var i = 0; i < places.length; ++i) {
120
'insert into Place(id, name, address) values (?, ?, ?)',
121
[ p.id, p.name, "Cafe Moskau, Berlin, Germany" ]
125
for (var i = 0; i < speaker.length; ++i) {
128
'insert into Contact(id, name, surname) values (?, ?, ?)',
129
[ s.id, s.name, s.surname ]
133
for (var i = 0; i < events.length; ++i) {
136
'insert into Event(id, title, message, startTime, endTime) values (?, ?, ?, ?, ?)',
137
[ e.id, e.title, e.message, e.startTime, e.endTime ]
140
'insert into Venue(eventId, placeId) values (?, ?)',
143
for (var j = 0; j < e.speaker.length; ++j) {
145
'insert into Attendance(eventId, contactId) values (?, ?)',
146
[ e.id, e.speaker[j] ]
152
function runTestSimple(tx)
154
loadTestDataSimple(tx)
157
DataService.getContacts(contacts)
158
for (var i = 0; i < contacts.length; ++i)
159
DataService.printContact(contacts[i])
162
var testEvent = DataService.addEvent({
163
title: 'Critical Review',
165
startTime: new Date(2013, 2, 30, 10, 00).getTime(),
166
endTime: new Date(2013, 2, 30, 10, 30).getTime()
168
DataService.addAttendee(testEvent, contacts[1])
169
DataService.addAttendee(testEvent, contacts[2])
170
DataService.addAttendee(testEvent, contacts[0])
171
DataService.removeAttendee(testEvent, contacts[0])
172
var testPlace = DataService.addPlace({ name: 'Jane\'s bar' })
173
DataService.addVenue(testEvent, testPlace)
174
console.log('Added new event with id', testEvent.id)
178
var dayStart = new Date(2013, 2, 30)
179
DataService.getEvents(dayStart.getTime(), dayStart.addDays(1).getTime(), events)
180
for (var i = 0; i < events.length; ++i)
181
DataService.printEvent(events[i])
183
DataService.removeEvent(testEvent)
184
DataService.removePlace(testPlace)
187
DataService.db().transaction(
190
loadTestDataComplex(tx)