rhosync 2.0.0.beta8 → 2.0.0.beta9
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +7 -0
- data/bench/lib/bench/session.rb +2 -0
- data/bench/lib/bench.rb +1 -0
- data/bench/scripts/query_only_script.rb +51 -0
- data/doc/protocol.html +81 -81
- data/generators/templates/application/spec/spec_helper.rb +1 -1
- data/lib/rhosync/bulk_data/bulk_data.rb +17 -5
- data/lib/rhosync/client_sync.rb +13 -8
- data/lib/rhosync/jobs/bulk_data_job.rb +3 -3
- data/lib/rhosync/server.rb +7 -5
- data/lib/rhosync/source.rb +10 -0
- data/lib/rhosync/source_adapter.rb +6 -0
- data/lib/rhosync/version.rb +1 -1
- data/spec/bulk_data/bulk_data_spec.rb +16 -2
- data/spec/client_sync_spec.rb +3 -2
- data/spec/spec_helper.rb +2 -1
- metadata +5 -4
data/CHANGELOG
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
== 2.0.0.beta9
|
2
|
+
* #3565139 - return better error message if client/source is unknown
|
3
|
+
* #3616601 - added blob_attribs to bulk data job file
|
4
|
+
* #3576126 - added expire_bulk_data source adapter method
|
5
|
+
* #3576151 - trigger new bulk data job if any relevant dbfiles are missing
|
6
|
+
* #3707791 - fixing ROOT_PATH problem on windows
|
7
|
+
|
1
8
|
== 2.0.0.beta8
|
2
9
|
* #3685476 - CGI escape api cookies
|
3
10
|
|
data/bench/lib/bench/session.rb
CHANGED
@@ -40,6 +40,8 @@ module Bench
|
|
40
40
|
logger.error "#{log_prefix} #{e.http_code.to_s} #{e.message}\n"
|
41
41
|
raise e
|
42
42
|
end
|
43
|
+
@last_result.cookies['rhosync_session'] =
|
44
|
+
CGI.escape(@last_result.cookies['rhosync_session']) if @last_result.cookies['rhosync_session']
|
43
45
|
@cookies = @cookies.merge(@last_result.cookies)
|
44
46
|
@last_result
|
45
47
|
end
|
data/bench/lib/bench.rb
CHANGED
@@ -77,6 +77,7 @@ module Bench
|
|
77
77
|
unless @token
|
78
78
|
res = RestClient.post("#{@host}/login",
|
79
79
|
{:login => @admin_login, :password => @admin_password}.to_json, :content_type => :json)
|
80
|
+
res.cookies['rhosync_session'] = CGI.escape(res.cookies['rhosync_session'])
|
80
81
|
@token = RestClient.post("#{@host}/api/get_api_token",'',{:cookies => res.cookies})
|
81
82
|
end
|
82
83
|
@token
|
@@ -0,0 +1,51 @@
|
|
1
|
+
include BenchHelpers
|
2
|
+
logger.info "Runs simple login,clientcreate,sync session and validates response"
|
3
|
+
|
4
|
+
@datasize = 100
|
5
|
+
@expected = Bench.get_test_data(@datasize)
|
6
|
+
@all_objects = "[{\"version\":3},{\"token\":\"%s\"},{\"count\":%i},{\"progress_count\":0},{\"total_count\":%i},{\"insert\":""}]"
|
7
|
+
@ack_token = "[{\"version\":3},{\"token\":\"\"},{\"count\":0},{\"progress_count\":%i},{\"total_count\":%i},{}]"
|
8
|
+
@clients = []
|
9
|
+
@cookies = {}
|
10
|
+
|
11
|
+
Bench.config do |config|
|
12
|
+
config.concurrency = 50
|
13
|
+
config.iterations = 10
|
14
|
+
config.user_name = "benchuser"
|
15
|
+
config.password = "password"
|
16
|
+
config.get_test_server
|
17
|
+
config.reset_app
|
18
|
+
config.set_server_state("test_db_storage:application:#{config.user_name}",@expected)
|
19
|
+
config.reset_refresh_time('MockAdapter')
|
20
|
+
res = RestClient.post "#{config.base_url}/clientlogin",
|
21
|
+
{:login => config.user_name, :password => config.password}, :content_type => :json
|
22
|
+
res.cookies['rhosync_session'] = CGI.escape(res.cookies['rhosync_session'])
|
23
|
+
@cookies = res.cookies
|
24
|
+
(config.concurrency*config.iterations).times do |i|
|
25
|
+
create = RestClient.get "#{config.base_url}/clientcreate", {:cookies => @cookies}
|
26
|
+
puts "Created client ##{i}..."
|
27
|
+
@clients << JSON.parse(create.body)['client']['client_id']
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
Bench.test do |config,session|
|
32
|
+
client_id = @clients[session.thread_id*config.iterations+session.iteration]
|
33
|
+
session.cookies = @cookies
|
34
|
+
sleep rand(10)
|
35
|
+
session.get "get-cud", config.base_url do
|
36
|
+
{'source_name' => 'MockAdapter', 'client_id' => client_id, 'p_size' => @datasize}
|
37
|
+
end
|
38
|
+
token = JSON.parse(session.last_result.body)[1]['token']
|
39
|
+
session.last_result.verify_body([{:version => 3},{:token => token},
|
40
|
+
{:count => @datasize},{:progress_count => 0},{:total_count => @datasize},
|
41
|
+
{:insert => @expected}].to_json)
|
42
|
+
sleep rand(10)
|
43
|
+
session.get "ack-cud", config.base_url do
|
44
|
+
{ 'source_name' => 'MockAdapter',
|
45
|
+
'client_id' => client_id,
|
46
|
+
'token' => token}
|
47
|
+
end
|
48
|
+
session.last_result.verify_code(200)
|
49
|
+
session.last_result.verify_body([{:version => 3},{:token => ''},{:count => 0},
|
50
|
+
{:progress_count => @datasize},{:total_count => @datasize},{}].to_json)
|
51
|
+
end
|
data/doc/protocol.html
CHANGED
@@ -99,7 +99,7 @@
|
|
99
99
|
</tr>
|
100
100
|
<tr>
|
101
101
|
<td style='text-align: left;'>Cookie</td>
|
102
|
-
<td style='text-align: left;'>rhosync_session=
|
102
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
103
103
|
</tr>
|
104
104
|
</tbody>
|
105
105
|
</table>
|
@@ -134,7 +134,7 @@
|
|
134
134
|
</tr>
|
135
135
|
<tr>
|
136
136
|
<td style='text-align: left;'>Set-Cookie</td>
|
137
|
-
<td style='text-align: left;'>rhosync_session=
|
137
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:31 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:31 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:31 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:31 GMT</td>
|
138
138
|
</tr>
|
139
139
|
</tbody>
|
140
140
|
</table>
|
@@ -171,7 +171,7 @@
|
|
171
171
|
</tr>
|
172
172
|
<tr>
|
173
173
|
<td style='text-align: left;'>Cookie</td>
|
174
|
-
<td style='text-align: left;'>rhosync_session=
|
174
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
175
175
|
</tr>
|
176
176
|
</tbody>
|
177
177
|
</table>
|
@@ -206,7 +206,7 @@
|
|
206
206
|
</tr>
|
207
207
|
<tr>
|
208
208
|
<td style='text-align: left;'>Set-Cookie</td>
|
209
|
-
<td style='text-align: left;'>rhosync_session=
|
209
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luMA%3D%3D%0A--604ccfeb391234cc664339bdc9b12bc0435926f0; path=/; expires=Sat, 28-May-2011 16:02:31 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luMA%3D%3D%0A--604ccfeb391234cc664339bdc9b12bc0435926f0; path=/; expires=Sat, 28-May-2011 16:02:31 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luMA%3D%3D%0A--604ccfeb391234cc664339bdc9b12bc0435926f0; path=/; expires=Sat, 28-May-2011 16:02:31 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luMA%3D%3D%0A--604ccfeb391234cc664339bdc9b12bc0435926f0; path=/; expires=Sat, 28-May-2011 16:02:31 GMT</td>
|
210
210
|
</tr>
|
211
211
|
</tbody>
|
212
212
|
</table>
|
@@ -243,7 +243,7 @@
|
|
243
243
|
</tr>
|
244
244
|
<tr>
|
245
245
|
<td style='text-align: left;'>Cookie</td>
|
246
|
-
<td style='text-align: left;'>rhosync_session=
|
246
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
247
247
|
</tr>
|
248
248
|
</tbody>
|
249
249
|
</table>
|
@@ -278,7 +278,7 @@
|
|
278
278
|
</tr>
|
279
279
|
<tr>
|
280
280
|
<td style='text-align: left;'>Set-Cookie</td>
|
281
|
-
<td style='text-align: left;'>rhosync_session=
|
281
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
282
282
|
</tr>
|
283
283
|
</tbody>
|
284
284
|
</table>
|
@@ -290,7 +290,7 @@
|
|
290
290
|
</thead>
|
291
291
|
<tbody>
|
292
292
|
<tr>
|
293
|
-
<td style='text-align: left;'>{"sources":{"FixedSchemaAdapter":{"schema":{"property":[{"name":"string"},{"brand":"string"},{"price":"string"},{"image_url":"blob"}],"unique_index":[{"by_price":"price"}],"version":"1.0","index":[{"by_name_brand":"name,brand"}]},"poll_interval":300},"SampleAdapter":{"poll_interval":300},"SimpleAdapter":{"partition_type":"app","poll_interval":600}},"client":{"client_id":"
|
293
|
+
<td style='text-align: left;'>{"sources":{"FixedSchemaAdapter":{"schema":{"property":[{"name":"string"},{"brand":"string"},{"price":"string"},{"image_url":"blob"}],"unique_index":[{"by_price":"price"}],"version":"1.0","index":[{"by_name_brand":"name,brand"}]},"poll_interval":300},"SampleAdapter":{"poll_interval":300},"SimpleAdapter":{"partition_type":"app","poll_interval":600}},"client":{"client_id":"3ecabe76ef2c4af09ce53d9de5df65ab"}}</td>
|
294
294
|
</tr>
|
295
295
|
</tbody>
|
296
296
|
</table>
|
@@ -315,7 +315,7 @@
|
|
315
315
|
</tr>
|
316
316
|
<tr>
|
317
317
|
<td style='text-align: left;'>Cookie</td>
|
318
|
-
<td style='text-align: left;'>rhosync_session=
|
318
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
319
319
|
</tr>
|
320
320
|
</tbody>
|
321
321
|
</table>
|
@@ -350,7 +350,7 @@
|
|
350
350
|
</tr>
|
351
351
|
<tr>
|
352
352
|
<td style='text-align: left;'>Set-Cookie</td>
|
353
|
-
<td style='text-align: left;'>rhosync_session=
|
353
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
354
354
|
</tr>
|
355
355
|
</tbody>
|
356
356
|
</table>
|
@@ -362,7 +362,7 @@
|
|
362
362
|
</thead>
|
363
363
|
<tbody>
|
364
364
|
<tr>
|
365
|
-
<td style='text-align: left;'>{"sources":{"FixedSchemaAdapter":{"schema":{"property":[{"name":"string"},{"brand":"string"},{"price":"string"},{"image_url":"blob"}],"unique_index":[{"by_price":"price"}],"version":"1.0","index":[{"by_name_brand":"name,brand"}]},"poll_interval":300},"SampleAdapter":{"poll_interval":300},"SimpleAdapter":{"partition_type":"app","poll_interval":600}},"client":{"client_id":"
|
365
|
+
<td style='text-align: left;'>{"sources":{"FixedSchemaAdapter":{"schema":{"property":[{"name":"string"},{"brand":"string"},{"price":"string"},{"image_url":"blob"}],"unique_index":[{"by_price":"price"}],"version":"1.0","index":[{"by_name_brand":"name,brand"}]},"poll_interval":300},"SampleAdapter":{"poll_interval":300},"SimpleAdapter":{"partition_type":"app","poll_interval":600}},"client":{"client_id":"4b09ce0a948242d7a8b61ce0840e1e09"}}</td>
|
366
366
|
</tr>
|
367
367
|
</tbody>
|
368
368
|
</table>
|
@@ -387,7 +387,7 @@
|
|
387
387
|
</tr>
|
388
388
|
<tr>
|
389
389
|
<td style='text-align: left;'>Cookie</td>
|
390
|
-
<td style='text-align: left;'>rhosync_session=
|
390
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
391
391
|
</tr>
|
392
392
|
</tbody>
|
393
393
|
</table>
|
@@ -399,7 +399,7 @@
|
|
399
399
|
</thead>
|
400
400
|
<tbody>
|
401
401
|
<tr>
|
402
|
-
<td>{"device_port":"3333","device_pin":"abcd","device_type":"iPhone","client_id":"
|
402
|
+
<td>{"device_port":"3333","device_pin":"abcd","device_type":"iPhone","client_id":"cc82f1d1d13b46fe900513cca53171b7"}</td>
|
403
403
|
</tr>
|
404
404
|
</tbody>
|
405
405
|
</table>
|
@@ -422,7 +422,7 @@
|
|
422
422
|
</tr>
|
423
423
|
<tr>
|
424
424
|
<td style='text-align: left;'>Set-Cookie</td>
|
425
|
-
<td style='text-align: left;'>rhosync_session=
|
425
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
426
426
|
</tr>
|
427
427
|
</tbody>
|
428
428
|
</table>
|
@@ -440,7 +440,7 @@
|
|
440
440
|
</table>
|
441
441
|
<h2 id='6'>6. clientreset - reset client database</h2>
|
442
442
|
|
443
|
-
<h3>Request: GET /application/clientreset?client_id=
|
443
|
+
<h3>Request: GET /application/clientreset?client_id=dc2aa956792342cda66f62e84f872c08</h3>
|
444
444
|
<table>
|
445
445
|
<thead>
|
446
446
|
<tr>
|
@@ -459,7 +459,7 @@
|
|
459
459
|
</tr>
|
460
460
|
<tr>
|
461
461
|
<td style='text-align: left;'>Cookie</td>
|
462
|
-
<td style='text-align: left;'>rhosync_session=
|
462
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
463
463
|
</tr>
|
464
464
|
</tbody>
|
465
465
|
</table>
|
@@ -494,7 +494,7 @@
|
|
494
494
|
</tr>
|
495
495
|
<tr>
|
496
496
|
<td style='text-align: left;'>Set-Cookie</td>
|
497
|
-
<td style='text-align: left;'>rhosync_session=
|
497
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
498
498
|
</tr>
|
499
499
|
</tbody>
|
500
500
|
</table>
|
@@ -531,7 +531,7 @@
|
|
531
531
|
</tr>
|
532
532
|
<tr>
|
533
533
|
<td style='text-align: left;'>Cookie</td>
|
534
|
-
<td style='text-align: left;'>rhosync_session=
|
534
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
535
535
|
</tr>
|
536
536
|
</tbody>
|
537
537
|
</table>
|
@@ -543,7 +543,7 @@
|
|
543
543
|
</thead>
|
544
544
|
<tbody>
|
545
545
|
<tr>
|
546
|
-
<td>{"client_id":"
|
546
|
+
<td>{"client_id":"bbaf322511e14f2f83a0429e97a143d0","create":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"}},"source_name":"SampleAdapter"}</td>
|
547
547
|
</tr>
|
548
548
|
</tbody>
|
549
549
|
</table>
|
@@ -566,7 +566,7 @@
|
|
566
566
|
</tr>
|
567
567
|
<tr>
|
568
568
|
<td style='text-align: left;'>Set-Cookie</td>
|
569
|
-
<td style='text-align: left;'>rhosync_session=
|
569
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
570
570
|
</tr>
|
571
571
|
</tbody>
|
572
572
|
</table>
|
@@ -603,7 +603,7 @@
|
|
603
603
|
</tr>
|
604
604
|
<tr>
|
605
605
|
<td style='text-align: left;'>Cookie</td>
|
606
|
-
<td style='text-align: left;'>rhosync_session=
|
606
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
607
607
|
</tr>
|
608
608
|
</tbody>
|
609
609
|
</table>
|
@@ -615,7 +615,7 @@
|
|
615
615
|
</thead>
|
616
616
|
<tbody>
|
617
617
|
<tr>
|
618
|
-
<td>{"client_id":"
|
618
|
+
<td>{"client_id":"80035b66fea14c25a46fef4e6c01fde6","source_name":"SampleAdapter","update":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"}}}</td>
|
619
619
|
</tr>
|
620
620
|
</tbody>
|
621
621
|
</table>
|
@@ -638,7 +638,7 @@
|
|
638
638
|
</tr>
|
639
639
|
<tr>
|
640
640
|
<td style='text-align: left;'>Set-Cookie</td>
|
641
|
-
<td style='text-align: left;'>rhosync_session=
|
641
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
642
642
|
</tr>
|
643
643
|
</tbody>
|
644
644
|
</table>
|
@@ -675,7 +675,7 @@
|
|
675
675
|
</tr>
|
676
676
|
<tr>
|
677
677
|
<td style='text-align: left;'>Cookie</td>
|
678
|
-
<td style='text-align: left;'>rhosync_session=
|
678
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
679
679
|
</tr>
|
680
680
|
</tbody>
|
681
681
|
</table>
|
@@ -687,7 +687,7 @@
|
|
687
687
|
</thead>
|
688
688
|
<tbody>
|
689
689
|
<tr>
|
690
|
-
<td>{"
|
690
|
+
<td>{"delete":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"}},"client_id":"275fd16a17b747f6aeaf1e80777bf958","source_name":"SampleAdapter"}</td>
|
691
691
|
</tr>
|
692
692
|
</tbody>
|
693
693
|
</table>
|
@@ -710,7 +710,7 @@
|
|
710
710
|
</tr>
|
711
711
|
<tr>
|
712
712
|
<td style='text-align: left;'>Set-Cookie</td>
|
713
|
-
<td style='text-align: left;'>rhosync_session=
|
713
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
714
714
|
</tr>
|
715
715
|
</tbody>
|
716
716
|
</table>
|
@@ -838,7 +838,7 @@ Content-Disposition: form-data; name="cud"
|
|
838
838
|
</tr>
|
839
839
|
<tr>
|
840
840
|
<td style='text-align: left;'>Cookie</td>
|
841
|
-
<td style='text-align: left;'>rhosync_session=
|
841
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
842
842
|
</tr>
|
843
843
|
</tbody>
|
844
844
|
</table>
|
@@ -850,7 +850,7 @@ Content-Disposition: form-data; name="cud"
|
|
850
850
|
</thead>
|
851
851
|
<tbody>
|
852
852
|
<tr>
|
853
|
-
<td>{"
|
853
|
+
<td>{"delete":{"3":{"price":"299.99","brand":"HTC","name":"Fuze"}},"client_id":"967603bd9b4a400f946ba70ed84ee88a","create":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"}},"source_name":"SampleAdapter","update":{"2":{"price":"99.99","brand":"Android","name":"G2"}}}</td>
|
854
854
|
</tr>
|
855
855
|
</tbody>
|
856
856
|
</table>
|
@@ -873,7 +873,7 @@ Content-Disposition: form-data; name="cud"
|
|
873
873
|
</tr>
|
874
874
|
<tr>
|
875
875
|
<td style='text-align: left;'>Set-Cookie</td>
|
876
|
-
<td style='text-align: left;'>rhosync_session=
|
876
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
877
877
|
</tr>
|
878
878
|
</tbody>
|
879
879
|
</table>
|
@@ -891,7 +891,7 @@ Content-Disposition: form-data; name="cud"
|
|
891
891
|
</table>
|
892
892
|
<h2 id='12'>12. create-with-link - send link for created object</h2>
|
893
893
|
|
894
|
-
<h3>Request: GET /application?client_id=
|
894
|
+
<h3>Request: GET /application?client_id=eb6d3b1ef1c34c78887c66a6b9fb9b58&version=3&source_name=SampleAdapter</h3>
|
895
895
|
<table>
|
896
896
|
<thead>
|
897
897
|
<tr>
|
@@ -910,7 +910,7 @@ Content-Disposition: form-data; name="cud"
|
|
910
910
|
</tr>
|
911
911
|
<tr>
|
912
912
|
<td style='text-align: left;'>Cookie</td>
|
913
|
-
<td style='text-align: left;'>rhosync_session=
|
913
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
914
914
|
</tr>
|
915
915
|
</tbody>
|
916
916
|
</table>
|
@@ -945,7 +945,7 @@ Content-Disposition: form-data; name="cud"
|
|
945
945
|
</tr>
|
946
946
|
<tr>
|
947
947
|
<td style='text-align: left;'>Set-Cookie</td>
|
948
|
-
<td style='text-align: left;'>rhosync_session=
|
948
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:32 GMT</td>
|
949
949
|
</tr>
|
950
950
|
</tbody>
|
951
951
|
</table>
|
@@ -957,13 +957,13 @@ Content-Disposition: form-data; name="cud"
|
|
957
957
|
</thead>
|
958
958
|
<tbody>
|
959
959
|
<tr>
|
960
|
-
<td style='text-align: left;'>[{"version":3},{"token":"
|
960
|
+
<td style='text-align: left;'>[{"version":3},{"token":"44265752954638"},{"count":1},{"progress_count":0},{"total_count":0},{"delete":{"backend_id":{"price":"249.99","brand":"Android","name":"Droid","link":"test link"}},"links":{"4":{"l":"backend_id"}}}]</td>
|
961
961
|
</tr>
|
962
962
|
</tbody>
|
963
963
|
</table>
|
964
964
|
<h2 id='13'>13. query-error - send query error</h2>
|
965
965
|
|
966
|
-
<h3>Request: GET /application?client_id=
|
966
|
+
<h3>Request: GET /application?client_id=595ee91461384c768c4aa492cd55d783&version=3&source_name=SampleAdapter</h3>
|
967
967
|
<table>
|
968
968
|
<thead>
|
969
969
|
<tr>
|
@@ -982,7 +982,7 @@ Content-Disposition: form-data; name="cud"
|
|
982
982
|
</tr>
|
983
983
|
<tr>
|
984
984
|
<td style='text-align: left;'>Cookie</td>
|
985
|
-
<td style='text-align: left;'>rhosync_session=
|
985
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
986
986
|
</tr>
|
987
987
|
</tbody>
|
988
988
|
</table>
|
@@ -1017,7 +1017,7 @@ Content-Disposition: form-data; name="cud"
|
|
1017
1017
|
</tr>
|
1018
1018
|
<tr>
|
1019
1019
|
<td style='text-align: left;'>Set-Cookie</td>
|
1020
|
-
<td style='text-align: left;'>rhosync_session=
|
1020
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1021
1021
|
</tr>
|
1022
1022
|
</tbody>
|
1023
1023
|
</table>
|
@@ -1035,7 +1035,7 @@ Content-Disposition: form-data; name="cud"
|
|
1035
1035
|
</table>
|
1036
1036
|
<h2 id='14'>14. login-error - send login error</h2>
|
1037
1037
|
|
1038
|
-
<h3>Request: GET /application?client_id=
|
1038
|
+
<h3>Request: GET /application?client_id=3b3043d835b842b09baaaf71a3a3f181&version=3&source_name=SampleAdapter</h3>
|
1039
1039
|
<table>
|
1040
1040
|
<thead>
|
1041
1041
|
<tr>
|
@@ -1054,7 +1054,7 @@ Content-Disposition: form-data; name="cud"
|
|
1054
1054
|
</tr>
|
1055
1055
|
<tr>
|
1056
1056
|
<td style='text-align: left;'>Cookie</td>
|
1057
|
-
<td style='text-align: left;'>rhosync_session=
|
1057
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1058
1058
|
</tr>
|
1059
1059
|
</tbody>
|
1060
1060
|
</table>
|
@@ -1089,7 +1089,7 @@ Content-Disposition: form-data; name="cud"
|
|
1089
1089
|
</tr>
|
1090
1090
|
<tr>
|
1091
1091
|
<td style='text-align: left;'>Set-Cookie</td>
|
1092
|
-
<td style='text-align: left;'>rhosync_session=
|
1092
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1093
1093
|
</tr>
|
1094
1094
|
</tbody>
|
1095
1095
|
</table>
|
@@ -1107,7 +1107,7 @@ Content-Disposition: form-data; name="cud"
|
|
1107
1107
|
</table>
|
1108
1108
|
<h2 id='15'>15. logoff-error - send logoff error</h2>
|
1109
1109
|
|
1110
|
-
<h3>Request: GET /application?client_id=
|
1110
|
+
<h3>Request: GET /application?client_id=a44d21be2385441eacddf04edfd0a292&version=3&source_name=SampleAdapter</h3>
|
1111
1111
|
<table>
|
1112
1112
|
<thead>
|
1113
1113
|
<tr>
|
@@ -1126,7 +1126,7 @@ Content-Disposition: form-data; name="cud"
|
|
1126
1126
|
</tr>
|
1127
1127
|
<tr>
|
1128
1128
|
<td style='text-align: left;'>Cookie</td>
|
1129
|
-
<td style='text-align: left;'>rhosync_session=
|
1129
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1130
1130
|
</tr>
|
1131
1131
|
</tbody>
|
1132
1132
|
</table>
|
@@ -1161,7 +1161,7 @@ Content-Disposition: form-data; name="cud"
|
|
1161
1161
|
</tr>
|
1162
1162
|
<tr>
|
1163
1163
|
<td style='text-align: left;'>Set-Cookie</td>
|
1164
|
-
<td style='text-align: left;'>rhosync_session=
|
1164
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1165
1165
|
</tr>
|
1166
1166
|
</tbody>
|
1167
1167
|
</table>
|
@@ -1173,13 +1173,13 @@ Content-Disposition: form-data; name="cud"
|
|
1173
1173
|
</thead>
|
1174
1174
|
<tbody>
|
1175
1175
|
<tr>
|
1176
|
-
<td style='text-align: left;'>[{"version":3},{"token":"
|
1176
|
+
<td style='text-align: left;'>[{"version":3},{"token":"44265753271039"},{"count":1},{"progress_count":0},{"total_count":1},{"source-error":{"logoff-error":{"message":"Error logging off"}},"insert":{"0_broken_object_id":{"name":"logoff error","an_attribute":"Error logging off"}}}]</td>
|
1177
1177
|
</tr>
|
1178
1178
|
</tbody>
|
1179
1179
|
</table>
|
1180
1180
|
<h2 id='16'>16. create-error - send create error</h2>
|
1181
1181
|
|
1182
|
-
<h3>Request: GET /application?client_id=
|
1182
|
+
<h3>Request: GET /application?client_id=6a8321d033914db688aadda8be03a189&version=3&source_name=SampleAdapter</h3>
|
1183
1183
|
<table>
|
1184
1184
|
<thead>
|
1185
1185
|
<tr>
|
@@ -1198,7 +1198,7 @@ Content-Disposition: form-data; name="cud"
|
|
1198
1198
|
</tr>
|
1199
1199
|
<tr>
|
1200
1200
|
<td style='text-align: left;'>Cookie</td>
|
1201
|
-
<td style='text-align: left;'>rhosync_session=
|
1201
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1202
1202
|
</tr>
|
1203
1203
|
</tbody>
|
1204
1204
|
</table>
|
@@ -1233,7 +1233,7 @@ Content-Disposition: form-data; name="cud"
|
|
1233
1233
|
</tr>
|
1234
1234
|
<tr>
|
1235
1235
|
<td style='text-align: left;'>Set-Cookie</td>
|
1236
|
-
<td style='text-align: left;'>rhosync_session=
|
1236
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1237
1237
|
</tr>
|
1238
1238
|
</tbody>
|
1239
1239
|
</table>
|
@@ -1251,7 +1251,7 @@ Content-Disposition: form-data; name="cud"
|
|
1251
1251
|
</table>
|
1252
1252
|
<h2 id='17'>17. update-error - send update error</h2>
|
1253
1253
|
|
1254
|
-
<h3>Request: GET /application?client_id=
|
1254
|
+
<h3>Request: GET /application?client_id=c2601361477743189804ed4e8760dfeb&version=3&source_name=SampleAdapter</h3>
|
1255
1255
|
<table>
|
1256
1256
|
<thead>
|
1257
1257
|
<tr>
|
@@ -1270,7 +1270,7 @@ Content-Disposition: form-data; name="cud"
|
|
1270
1270
|
</tr>
|
1271
1271
|
<tr>
|
1272
1272
|
<td style='text-align: left;'>Cookie</td>
|
1273
|
-
<td style='text-align: left;'>rhosync_session=
|
1273
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1274
1274
|
</tr>
|
1275
1275
|
</tbody>
|
1276
1276
|
</table>
|
@@ -1305,7 +1305,7 @@ Content-Disposition: form-data; name="cud"
|
|
1305
1305
|
</tr>
|
1306
1306
|
<tr>
|
1307
1307
|
<td style='text-align: left;'>Set-Cookie</td>
|
1308
|
-
<td style='text-align: left;'>rhosync_session=
|
1308
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1309
1309
|
</tr>
|
1310
1310
|
</tbody>
|
1311
1311
|
</table>
|
@@ -1323,7 +1323,7 @@ Content-Disposition: form-data; name="cud"
|
|
1323
1323
|
</table>
|
1324
1324
|
<h2 id='18'>18. delete-error - send delete error</h2>
|
1325
1325
|
|
1326
|
-
<h3>Request: GET /application?client_id=
|
1326
|
+
<h3>Request: GET /application?client_id=886213f27d3f4e01b272d5833a308173&version=3&source_name=SampleAdapter</h3>
|
1327
1327
|
<table>
|
1328
1328
|
<thead>
|
1329
1329
|
<tr>
|
@@ -1342,7 +1342,7 @@ Content-Disposition: form-data; name="cud"
|
|
1342
1342
|
</tr>
|
1343
1343
|
<tr>
|
1344
1344
|
<td style='text-align: left;'>Cookie</td>
|
1345
|
-
<td style='text-align: left;'>rhosync_session=
|
1345
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1346
1346
|
</tr>
|
1347
1347
|
</tbody>
|
1348
1348
|
</table>
|
@@ -1377,7 +1377,7 @@ Content-Disposition: form-data; name="cud"
|
|
1377
1377
|
</tr>
|
1378
1378
|
<tr>
|
1379
1379
|
<td style='text-align: left;'>Set-Cookie</td>
|
1380
|
-
<td style='text-align: left;'>rhosync_session=
|
1380
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1381
1381
|
</tr>
|
1382
1382
|
</tbody>
|
1383
1383
|
</table>
|
@@ -1395,7 +1395,7 @@ Content-Disposition: form-data; name="cud"
|
|
1395
1395
|
</table>
|
1396
1396
|
<h2 id='19'>19. insert objects - send insert objects</h2>
|
1397
1397
|
|
1398
|
-
<h3>Request: GET /application?client_id=
|
1398
|
+
<h3>Request: GET /application?client_id=3164b112b1af4d078db92a3e02623159&version=3&source_name=SampleAdapter</h3>
|
1399
1399
|
<table>
|
1400
1400
|
<thead>
|
1401
1401
|
<tr>
|
@@ -1414,7 +1414,7 @@ Content-Disposition: form-data; name="cud"
|
|
1414
1414
|
</tr>
|
1415
1415
|
<tr>
|
1416
1416
|
<td style='text-align: left;'>Cookie</td>
|
1417
|
-
<td style='text-align: left;'>rhosync_session=
|
1417
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1418
1418
|
</tr>
|
1419
1419
|
</tbody>
|
1420
1420
|
</table>
|
@@ -1449,7 +1449,7 @@ Content-Disposition: form-data; name="cud"
|
|
1449
1449
|
</tr>
|
1450
1450
|
<tr>
|
1451
1451
|
<td style='text-align: left;'>Set-Cookie</td>
|
1452
|
-
<td style='text-align: left;'>rhosync_session=
|
1452
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1453
1453
|
</tr>
|
1454
1454
|
</tbody>
|
1455
1455
|
</table>
|
@@ -1461,13 +1461,13 @@ Content-Disposition: form-data; name="cud"
|
|
1461
1461
|
</thead>
|
1462
1462
|
<tbody>
|
1463
1463
|
<tr>
|
1464
|
-
<td style='text-align: left;'>[{"version":3},{"token":"
|
1464
|
+
<td style='text-align: left;'>[{"version":3},{"token":"44265753710680"},{"count":2},{"progress_count":0},{"total_count":2},{"insert":{"1":{"brand":"Apple","name":"iPhone","price":"199.99"},"2":{"brand":"Android","name":"G2","price":"99.99"}}}]</td>
|
1465
1465
|
</tr>
|
1466
1466
|
</tbody>
|
1467
1467
|
</table>
|
1468
1468
|
<h2 id='20'>20. metadata - send metadata</h2>
|
1469
1469
|
|
1470
|
-
<h3>Request: GET /application?client_id=
|
1470
|
+
<h3>Request: GET /application?client_id=87838a5cd9e346448d8eb884b3dd1b97&version=3&source_name=SampleAdapter</h3>
|
1471
1471
|
<table>
|
1472
1472
|
<thead>
|
1473
1473
|
<tr>
|
@@ -1486,7 +1486,7 @@ Content-Disposition: form-data; name="cud"
|
|
1486
1486
|
</tr>
|
1487
1487
|
<tr>
|
1488
1488
|
<td style='text-align: left;'>Cookie</td>
|
1489
|
-
<td style='text-align: left;'>rhosync_session=
|
1489
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1490
1490
|
</tr>
|
1491
1491
|
</tbody>
|
1492
1492
|
</table>
|
@@ -1521,7 +1521,7 @@ Content-Disposition: form-data; name="cud"
|
|
1521
1521
|
</tr>
|
1522
1522
|
<tr>
|
1523
1523
|
<td style='text-align: left;'>Set-Cookie</td>
|
1524
|
-
<td style='text-align: left;'>rhosync_session=
|
1524
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1525
1525
|
</tr>
|
1526
1526
|
</tbody>
|
1527
1527
|
</table>
|
@@ -1533,13 +1533,13 @@ Content-Disposition: form-data; name="cud"
|
|
1533
1533
|
</thead>
|
1534
1534
|
<tbody>
|
1535
1535
|
<tr>
|
1536
|
-
<td style='text-align: left;'>[{"version":3},{"token":"
|
1536
|
+
<td style='text-align: left;'>[{"version":3},{"token":"44265753862504"},{"count":3},{"progress_count":0},{"total_count":3},{"metadata":"{\"foo\":\"bar\"}","insert":{"1":{"brand":"Apple","name":"iPhone","price":"199.99"},"2":{"brand":"Android","name":"G2","price":"99.99"},"3":{"name":"Fuze","price":"299.99","brand":"HTC"}}}]</td>
|
1537
1537
|
</tr>
|
1538
1538
|
</tbody>
|
1539
1539
|
</table>
|
1540
1540
|
<h2 id='21'>21. delete objects - send delete objects</h2>
|
1541
1541
|
|
1542
|
-
<h3>Request: GET /application?client_id=
|
1542
|
+
<h3>Request: GET /application?client_id=7b976b991a804e868f7add076bd2d31d&token=44265753946064&version=3&source_name=SampleAdapter</h3>
|
1543
1543
|
<table>
|
1544
1544
|
<thead>
|
1545
1545
|
<tr>
|
@@ -1558,7 +1558,7 @@ Content-Disposition: form-data; name="cud"
|
|
1558
1558
|
</tr>
|
1559
1559
|
<tr>
|
1560
1560
|
<td style='text-align: left;'>Cookie</td>
|
1561
|
-
<td style='text-align: left;'>rhosync_session=
|
1561
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1562
1562
|
</tr>
|
1563
1563
|
</tbody>
|
1564
1564
|
</table>
|
@@ -1593,7 +1593,7 @@ Content-Disposition: form-data; name="cud"
|
|
1593
1593
|
</tr>
|
1594
1594
|
<tr>
|
1595
1595
|
<td style='text-align: left;'>Set-Cookie</td>
|
1596
|
-
<td style='text-align: left;'>rhosync_session=
|
1596
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:33 GMT</td>
|
1597
1597
|
</tr>
|
1598
1598
|
</tbody>
|
1599
1599
|
</table>
|
@@ -1605,13 +1605,13 @@ Content-Disposition: form-data; name="cud"
|
|
1605
1605
|
</thead>
|
1606
1606
|
<tbody>
|
1607
1607
|
<tr>
|
1608
|
-
<td style='text-align: left;'>[{"version":3},{"token":"
|
1608
|
+
<td style='text-align: left;'>[{"version":3},{"token":"44265753976799"},{"count":2},{"progress_count":0},{"total_count":0},{"delete":{"1":{"price":"199.99","brand":"Apple","name":"iPhone"},"2":{"name":"G2","price":"99.99","brand":"Android"}}}]</td>
|
1609
1609
|
</tr>
|
1610
1610
|
</tbody>
|
1611
1611
|
</table>
|
1612
1612
|
<h2 id='22'>22. insert-delete objects - send insert and delete objects</h2>
|
1613
1613
|
|
1614
|
-
<h3>Request: GET /application?client_id=
|
1614
|
+
<h3>Request: GET /application?client_id=196c2b03e47c4f22bf41fd344a00b24e&token=44265754121540&version=3&source_name=SampleAdapter</h3>
|
1615
1615
|
<table>
|
1616
1616
|
<thead>
|
1617
1617
|
<tr>
|
@@ -1630,7 +1630,7 @@ Content-Disposition: form-data; name="cud"
|
|
1630
1630
|
</tr>
|
1631
1631
|
<tr>
|
1632
1632
|
<td style='text-align: left;'>Cookie</td>
|
1633
|
-
<td style='text-align: left;'>rhosync_session=
|
1633
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1634
1634
|
</tr>
|
1635
1635
|
</tbody>
|
1636
1636
|
</table>
|
@@ -1665,7 +1665,7 @@ Content-Disposition: form-data; name="cud"
|
|
1665
1665
|
</tr>
|
1666
1666
|
<tr>
|
1667
1667
|
<td style='text-align: left;'>Set-Cookie</td>
|
1668
|
-
<td style='text-align: left;'>rhosync_session=
|
1668
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMT</td>
|
1669
1669
|
</tr>
|
1670
1670
|
</tbody>
|
1671
1671
|
</table>
|
@@ -1677,13 +1677,13 @@ Content-Disposition: form-data; name="cud"
|
|
1677
1677
|
</thead>
|
1678
1678
|
<tbody>
|
1679
1679
|
<tr>
|
1680
|
-
<td style='text-align: left;'>[{"version":3},{"token":"
|
1680
|
+
<td style='text-align: left;'>[{"version":3},{"token":"44265754146091"},{"count":2},{"progress_count":1},{"total_count":2},{"delete":{"2":{"name":"G2","brand":"Android","price":"99.99"}},"insert":{"3":{"name":"Fuze","price":"299.99","brand":"HTC"}}}]</td>
|
1681
1681
|
</tr>
|
1682
1682
|
</tbody>
|
1683
1683
|
</table>
|
1684
1684
|
<h2 id='23'>23. search result - send search results</h2>
|
1685
1685
|
|
1686
|
-
<h3>Request: GET /application/search?
|
1686
|
+
<h3>Request: GET /application/search?search[name]=iPhone&client_id=65936e85a9ae42c5b56257b88ecad34d&version=3&sources[][name]=SampleAdapter</h3>
|
1687
1687
|
<table>
|
1688
1688
|
<thead>
|
1689
1689
|
<tr>
|
@@ -1702,7 +1702,7 @@ Content-Disposition: form-data; name="cud"
|
|
1702
1702
|
</tr>
|
1703
1703
|
<tr>
|
1704
1704
|
<td style='text-align: left;'>Cookie</td>
|
1705
|
-
<td style='text-align: left;'>rhosync_session=
|
1705
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1706
1706
|
</tr>
|
1707
1707
|
</tbody>
|
1708
1708
|
</table>
|
@@ -1737,7 +1737,7 @@ Content-Disposition: form-data; name="cud"
|
|
1737
1737
|
</tr>
|
1738
1738
|
<tr>
|
1739
1739
|
<td style='text-align: left;'>Set-Cookie</td>
|
1740
|
-
<td style='text-align: left;'>rhosync_session=
|
1740
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMT</td>
|
1741
1741
|
</tr>
|
1742
1742
|
</tbody>
|
1743
1743
|
</table>
|
@@ -1749,13 +1749,13 @@ Content-Disposition: form-data; name="cud"
|
|
1749
1749
|
</thead>
|
1750
1750
|
<tbody>
|
1751
1751
|
<tr>
|
1752
|
-
<td style='text-align: left;'>[[{"version":3},{"token":"
|
1752
|
+
<td style='text-align: left;'>[[{"version":3},{"token":"44265754207604"},{"source":"SampleAdapter"},{"count":1},{"insert":{"1":{"brand":"Apple","name":"iPhone","price":"199.99"}}}]]</td>
|
1753
1753
|
</tr>
|
1754
1754
|
</tbody>
|
1755
1755
|
</table>
|
1756
1756
|
<h2 id='24'>24. search error - send search error</h2>
|
1757
1757
|
|
1758
|
-
<h3>Request: GET /application/search?
|
1758
|
+
<h3>Request: GET /application/search?search[name]=iPhone&client_id=5d7ff27db9e24c23b4639c2f0cdd9589&version=3&sources[][name]=SampleAdapter</h3>
|
1759
1759
|
<table>
|
1760
1760
|
<thead>
|
1761
1761
|
<tr>
|
@@ -1774,7 +1774,7 @@ Content-Disposition: form-data; name="cud"
|
|
1774
1774
|
</tr>
|
1775
1775
|
<tr>
|
1776
1776
|
<td style='text-align: left;'>Cookie</td>
|
1777
|
-
<td style='text-align: left;'>rhosync_session=
|
1777
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1778
1778
|
</tr>
|
1779
1779
|
</tbody>
|
1780
1780
|
</table>
|
@@ -1809,7 +1809,7 @@ Content-Disposition: form-data; name="cud"
|
|
1809
1809
|
</tr>
|
1810
1810
|
<tr>
|
1811
1811
|
<td style='text-align: left;'>Set-Cookie</td>
|
1812
|
-
<td style='text-align: left;'>rhosync_session=
|
1812
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMT</td>
|
1813
1813
|
</tr>
|
1814
1814
|
</tbody>
|
1815
1815
|
</table>
|
@@ -1827,7 +1827,7 @@ Content-Disposition: form-data; name="cud"
|
|
1827
1827
|
</table>
|
1828
1828
|
<h2 id='25'>25. multi source search - send multiple sources in search results</h2>
|
1829
1829
|
|
1830
|
-
<h3>Request: GET /application/search?
|
1830
|
+
<h3>Request: GET /application/search?search[search]=bar&client_id=7614a5aa216a4a86b19f8776f763142d&version=3&sources[][name]=SimpleAdapter&sources[][name]=SampleAdapter</h3>
|
1831
1831
|
<table>
|
1832
1832
|
<thead>
|
1833
1833
|
<tr>
|
@@ -1846,7 +1846,7 @@ Content-Disposition: form-data; name="cud"
|
|
1846
1846
|
</tr>
|
1847
1847
|
<tr>
|
1848
1848
|
<td style='text-align: left;'>Cookie</td>
|
1849
|
-
<td style='text-align: left;'>rhosync_session=
|
1849
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1850
1850
|
</tr>
|
1851
1851
|
</tbody>
|
1852
1852
|
</table>
|
@@ -1881,7 +1881,7 @@ Content-Disposition: form-data; name="cud"
|
|
1881
1881
|
</tr>
|
1882
1882
|
<tr>
|
1883
1883
|
<td style='text-align: left;'>Set-Cookie</td>
|
1884
|
-
<td style='text-align: left;'>rhosync_session=
|
1884
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMT</td>
|
1885
1885
|
</tr>
|
1886
1886
|
</tbody>
|
1887
1887
|
</table>
|
@@ -1893,13 +1893,13 @@ Content-Disposition: form-data; name="cud"
|
|
1893
1893
|
</thead>
|
1894
1894
|
<tbody>
|
1895
1895
|
<tr>
|
1896
|
-
<td style='text-align: left;'>[[{"version":3},{"token":"
|
1896
|
+
<td style='text-align: left;'>[[{"version":3},{"token":"44265754354485"},{"source":"SimpleAdapter"},{"count":1},{"insert":{"obj":{"foo":"bar"}}}],[{"version":3},{"token":"44265754359513"},{"source":"SampleAdapter"},{"count":1},{"insert":{"1":{"brand":"Apple","name":"iPhone","price":"199.99"}}}]]</td>
|
1897
1897
|
</tr>
|
1898
1898
|
</tbody>
|
1899
1899
|
</table>
|
1900
1900
|
<h2 id='26'>26. multi source search ack - acknowledge search result on multiple sources</h2>
|
1901
1901
|
|
1902
|
-
<h3>Request: GET /application/search?client_id=
|
1902
|
+
<h3>Request: GET /application/search?client_id=8cdb79990eb04a81bc637736fd5e2dfd&version=3&sources[][name]=SimpleAdapter&sources[][token]=44265754503016&sources[][name]=SampleAdapter&sources[][token]=44265754508307</h3>
|
1903
1903
|
<table>
|
1904
1904
|
<thead>
|
1905
1905
|
<tr>
|
@@ -1918,7 +1918,7 @@ Content-Disposition: form-data; name="cud"
|
|
1918
1918
|
</tr>
|
1919
1919
|
<tr>
|
1920
1920
|
<td style='text-align: left;'>Cookie</td>
|
1921
|
-
<td style='text-align: left;'>rhosync_session=
|
1921
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941</td>
|
1922
1922
|
</tr>
|
1923
1923
|
</tbody>
|
1924
1924
|
</table>
|
@@ -1953,7 +1953,7 @@ Content-Disposition: form-data; name="cud"
|
|
1953
1953
|
</tr>
|
1954
1954
|
<tr>
|
1955
1955
|
<td style='text-align: left;'>Set-Cookie</td>
|
1956
|
-
<td style='text-align: left;'>rhosync_session=
|
1956
|
+
<td style='text-align: left;'>rhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMTrhosync_session=BAh7CDoJYXV0aCIOZGVsZWdhdGVkOg1hcHBfbmFtZSIQYXBwbGljYXRpb246%0ACmxvZ2luIg10ZXN0dXNlcg%3D%3D%0A--352115e65a41340d45ce71ee0057858b9a5dc941; path=/; expires=Sat, 28-May-2011 16:02:34 GMT</td>
|
1957
1957
|
</tr>
|
1958
1958
|
</tbody>
|
1959
1959
|
</table>
|
@@ -13,8 +13,7 @@ module Rhosync
|
|
13
13
|
validates_presence_of :app_id, :user_id, :sources
|
14
14
|
|
15
15
|
def completed?
|
16
|
-
if state.to_sym == :completed
|
17
|
-
dbfile and File.exist?(dbfile)
|
16
|
+
if state.to_sym == :completed
|
18
17
|
return true
|
19
18
|
end
|
20
19
|
false
|
@@ -42,6 +41,19 @@ module Rhosync
|
|
42
41
|
File.join('/data',dbfile[Rhosync.data_directory.length..-1])
|
43
42
|
end
|
44
43
|
|
44
|
+
def dbfiles_exist?
|
45
|
+
files = [dbfile,dbfile+'.rzip']
|
46
|
+
if Rhosync.blackberry_bulk_sync
|
47
|
+
files << dbfile+'.hsqldb.data'
|
48
|
+
files << dbfile+'.hsqldb.script'
|
49
|
+
files << dbfile+'.hsqldb.properties'
|
50
|
+
end
|
51
|
+
files.each do |file|
|
52
|
+
return false unless File.exist?(file)
|
53
|
+
end
|
54
|
+
true
|
55
|
+
end
|
56
|
+
|
45
57
|
class << self
|
46
58
|
def create(fields={})
|
47
59
|
fields[:id] = fields[:name]
|
@@ -54,11 +66,11 @@ module Rhosync
|
|
54
66
|
Resque.enqueue(BulkDataJob,params)
|
55
67
|
end
|
56
68
|
|
57
|
-
def get_name(partition,
|
69
|
+
def get_name(partition,user_id)
|
58
70
|
if partition == :user
|
59
|
-
File.join(
|
71
|
+
File.join(APP_NAME,user_id,user_id)
|
60
72
|
else
|
61
|
-
File.join(
|
73
|
+
File.join(APP_NAME,APP_NAME)
|
62
74
|
end
|
63
75
|
end
|
64
76
|
|
data/lib/rhosync/client_sync.rb
CHANGED
@@ -5,8 +5,8 @@ module Rhosync
|
|
5
5
|
VERSION = 3
|
6
6
|
|
7
7
|
def initialize(source,client,p_size=nil)
|
8
|
-
raise ArgumentError.new('
|
9
|
-
raise ArgumentError.new('
|
8
|
+
raise ArgumentError.new('Unknown client') unless client
|
9
|
+
raise ArgumentError.new('Unknown source') unless source
|
10
10
|
@source,@client,@p_size = source,client,p_size ? p_size.to_i : 500
|
11
11
|
@source_sync = SourceSync.new(@source)
|
12
12
|
end
|
@@ -170,11 +170,17 @@ module Rhosync
|
|
170
170
|
end
|
171
171
|
|
172
172
|
def bulk_data(partition,client)
|
173
|
-
name = BulkData.get_name(partition,client)
|
173
|
+
name = BulkData.get_name(partition,client.user_id)
|
174
174
|
data = BulkData.load(name)
|
175
|
+
|
175
176
|
sources = client.app.partition_sources(partition,client.user_id)
|
176
|
-
|
177
|
-
|
177
|
+
return {:result => :nop} if sources.length <= 0
|
178
|
+
|
179
|
+
do_bd_sync = data.nil?
|
180
|
+
do_bd_sync = (data.completed? and
|
181
|
+
(data.refresh_time <= Time.now.to_i or !data.dbfiles_exist?)) unless do_bd_sync
|
182
|
+
|
183
|
+
if do_bd_sync
|
178
184
|
data.delete if data
|
179
185
|
data = BulkData.create(:name => name,
|
180
186
|
:app_id => client.app_id,
|
@@ -183,13 +189,12 @@ module Rhosync
|
|
183
189
|
:refresh_time => Time.now.to_i + Rhosync.bulk_sync_poll_interval)
|
184
190
|
BulkData.enqueue("data_name" => name)
|
185
191
|
end
|
186
|
-
|
192
|
+
|
193
|
+
if data and data.completed? and data.dbfiles_exist?
|
187
194
|
client.update_clientdoc(sources)
|
188
195
|
{:result => :url, :url => data.url}
|
189
196
|
elsif data
|
190
197
|
{:result => :wait}
|
191
|
-
else
|
192
|
-
{:result => :nop}
|
193
198
|
end
|
194
199
|
end
|
195
200
|
end
|
@@ -104,12 +104,12 @@ module Rhosync
|
|
104
104
|
def self.populate_sources_table(db,sources_refs)
|
105
105
|
db.transaction do |database|
|
106
106
|
database.prepare("insert into sources
|
107
|
-
(source_id,name,sync_priority,partition,sync_type,source_attribs,metadata)
|
108
|
-
values (
|
107
|
+
(source_id,name,sync_priority,partition,sync_type,source_attribs,metadata,blob_attribs)
|
108
|
+
values (?,?,?,?,?,?,?,?)") do |stmt|
|
109
109
|
sources_refs.each do |source_name,ref|
|
110
110
|
s = ref[:source]
|
111
111
|
stmt.execute(s.source_id,s.name,s.priority,s.partition_type,
|
112
|
-
s.sync_type,refs_to_s(ref[:refs]),s.get_value(:metadata))
|
112
|
+
s.sync_type,refs_to_s(ref[:refs]),s.get_value(:metadata),s.blob_attribs)
|
113
113
|
end
|
114
114
|
end
|
115
115
|
end
|
data/lib/rhosync/server.rb
CHANGED
@@ -112,12 +112,16 @@ module Rhosync
|
|
112
112
|
params[:source_name] ? {:source_name => current_source.name} : {:source_name => '*'})
|
113
113
|
end
|
114
114
|
end
|
115
|
+
|
116
|
+
def current_client_sync
|
117
|
+
ClientSync.new(current_source,current_client,params[:p_size])
|
118
|
+
end
|
115
119
|
|
116
120
|
def catch_all
|
117
121
|
begin
|
118
122
|
yield
|
119
123
|
rescue Exception => e
|
120
|
-
|
124
|
+
log e.message + e.backtrace.join("\n")
|
121
125
|
throw :halt, [500, e.message]
|
122
126
|
end
|
123
127
|
end
|
@@ -198,16 +202,14 @@ module Rhosync
|
|
198
202
|
get '/application' do
|
199
203
|
catch_all do
|
200
204
|
content_type :json
|
201
|
-
|
202
|
-
res = cs.send_cud(params[:token],params[:query]).to_json
|
205
|
+
res = current_client_sync.send_cud(params[:token],params[:query]).to_json
|
203
206
|
res
|
204
207
|
end
|
205
208
|
end
|
206
209
|
|
207
210
|
post '/application' do
|
208
211
|
catch_all do
|
209
|
-
|
210
|
-
cs.receive_cud(params)
|
212
|
+
current_client_sync.receive_cud(params)
|
211
213
|
status 200
|
212
214
|
end
|
213
215
|
end
|
data/lib/rhosync/source.rb
CHANGED
@@ -44,6 +44,16 @@ module Rhosync
|
|
44
44
|
super(id,params)
|
45
45
|
end
|
46
46
|
|
47
|
+
def blob_attribs
|
48
|
+
return '' unless self.schema
|
49
|
+
schema = JSON.parse(self.schema)
|
50
|
+
blob_attribs = []
|
51
|
+
schema['property'].each do |property|
|
52
|
+
blob_attribs << property.keys[0] if property.values[0] == 'blob'
|
53
|
+
end
|
54
|
+
blob_attribs.sort.join(',')
|
55
|
+
end
|
56
|
+
|
47
57
|
def update(fields)
|
48
58
|
fields = fields.with_indifferent_access # so we can access hash keys as symbols
|
49
59
|
self.class.set_defaults(fields)
|
@@ -71,6 +71,12 @@ module Rhosync
|
|
71
71
|
@stash_size += @result.size
|
72
72
|
@result = nil
|
73
73
|
end
|
74
|
+
|
75
|
+
def expire_bulk_data(partition = :user)
|
76
|
+
name = BulkData.get_name(partition,current_user.login)
|
77
|
+
data = BulkData.load(name)
|
78
|
+
data.refresh_time = Time.now.to_i if data
|
79
|
+
end
|
74
80
|
|
75
81
|
def create(name_value_list); end
|
76
82
|
|
data/lib/rhosync/version.rb
CHANGED
@@ -28,6 +28,20 @@ describe "BulkData" do
|
|
28
28
|
data.completed?.should == false
|
29
29
|
end
|
30
30
|
|
31
|
+
it "should expire_bulk_data from a source adapter" do
|
32
|
+
adapter = SourceSync.new(@s).adapter
|
33
|
+
time = Time.now.to_i + 10000
|
34
|
+
data = BulkData.create(:name => bulk_data_docname(@a.id,@u.id),
|
35
|
+
:state => :inprogress,
|
36
|
+
:app_id => @a.id,
|
37
|
+
:user_id => @u.id,
|
38
|
+
:sources => [@s_fields[:name]],
|
39
|
+
:refresh_time => time)
|
40
|
+
adapter.expire_bulk_data
|
41
|
+
data = BulkData.load(bulk_data_docname(@a.id,@u.id))
|
42
|
+
data.refresh_time.should <= Time.now.to_i
|
43
|
+
end
|
44
|
+
|
31
45
|
it "should enqueue sqlite db type" do
|
32
46
|
BulkData.enqueue
|
33
47
|
Resque.peek(:bulk_data).should == {"args"=>[{}],
|
@@ -35,11 +49,11 @@ describe "BulkData" do
|
|
35
49
|
end
|
36
50
|
|
37
51
|
it "should generate correct bulk data name for user partition" do
|
38
|
-
BulkData.get_name(:user,@c).should == File.join(@a_fields[:name],@u_fields[:login],@u_fields[:login])
|
52
|
+
BulkData.get_name(:user,@c.user_id).should == File.join(@a_fields[:name],@u_fields[:login],@u_fields[:login])
|
39
53
|
end
|
40
54
|
|
41
55
|
it "should generate correct bulk data name for app partition" do
|
42
|
-
BulkData.get_name(:app,@c).should ==
|
56
|
+
BulkData.get_name(:app,@c.user_id).should ==
|
43
57
|
File.join(@a_fields[:name],@a_fields[:name])
|
44
58
|
end
|
45
59
|
|
data/spec/client_sync_spec.rb
CHANGED
@@ -5,8 +5,8 @@ describe "ClientSync" do
|
|
5
5
|
it_should_behave_like "SourceAdapterHelper"
|
6
6
|
|
7
7
|
it "should raise Argument error if no client or source is provided" do
|
8
|
-
lambda { ClientSync.new(@s,nil,2) }.should raise_error(ArgumentError,'
|
9
|
-
lambda { ClientSync.new(nil,@c,2) }.should raise_error(ArgumentError,'
|
8
|
+
lambda { ClientSync.new(@s,nil,2) }.should raise_error(ArgumentError,'Unknown client')
|
9
|
+
lambda { ClientSync.new(nil,@c,2) }.should raise_error(ArgumentError,'Unknown source')
|
10
10
|
end
|
11
11
|
|
12
12
|
before(:each) do
|
@@ -403,6 +403,7 @@ describe "ClientSync" do
|
|
403
403
|
|
404
404
|
it "should create bulk data job if no file exists" do
|
405
405
|
set_state('test_db_storage' => @data)
|
406
|
+
Rhosync.blackberry_bulk_sync = true
|
406
407
|
ClientSync.bulk_data(:user,@c)
|
407
408
|
BulkDataJob.perform("data_name" => bulk_data_docname(@a.id,@u.id))
|
408
409
|
data = BulkData.load(bulk_data_docname(@a.id,@u.id))
|
data/spec/spec_helper.rb
CHANGED
@@ -115,7 +115,7 @@ module TestHelpers
|
|
115
115
|
|
116
116
|
def validate_db_by_name(db,s,data)
|
117
117
|
db.execute("select source_id,name,sync_priority,partition,
|
118
|
-
sync_type,source_attribs,metadata from sources where name='#{s.name}'").each do |row|
|
118
|
+
sync_type,source_attribs,metadata,blob_attribs from sources where name='#{s.name}'").each do |row|
|
119
119
|
return false if row[0] != s.source_id.to_s
|
120
120
|
return false if row[1] != s.name
|
121
121
|
return false if row[2] != s.priority.to_s
|
@@ -123,6 +123,7 @@ module TestHelpers
|
|
123
123
|
return false if row[4] != s.sync_type.to_s
|
124
124
|
return false if row[5] != (s.schema ? "" : get_attrib_counter(data))
|
125
125
|
return false if row[6] != s.get_value(:metadata)
|
126
|
+
return false if row[7] != s.blob_attribs
|
126
127
|
end
|
127
128
|
data = json_clone(data)
|
128
129
|
if s.schema
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhosync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: -
|
4
|
+
hash: -1848230043
|
5
5
|
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
version: 2.0.0.
|
10
|
+
- beta9
|
11
|
+
version: 2.0.0.beta9
|
12
12
|
platform: ruby
|
13
13
|
authors:
|
14
14
|
- Rhomobile
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-05-
|
19
|
+
date: 2010-05-28 00:00:00 -07:00
|
20
20
|
default_executable: rhosync
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -328,6 +328,7 @@ files:
|
|
328
328
|
- bench/scripts/cud_script.rb
|
329
329
|
- bench/scripts/helpers.rb
|
330
330
|
- bench/scripts/query_md_script.rb
|
331
|
+
- bench/scripts/query_only_script.rb
|
331
332
|
- bench/scripts/query_script.rb
|
332
333
|
- bench/spec/bench_spec_helper.rb
|
333
334
|
- bench/spec/logging_spec.rb
|