rhosync 2.0.0.beta8 → 2.0.0.beta9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|