Oscar Lorentzon
ea6b9afc3b
Handle IO errors in components.
2016-10-25 11:22:20 +02:00
Oscar Lorentzon
59a0ceb7d3
Remove new prefix from graph related classes.
2016-10-24 16:37:39 +02:00
Oscar Lorentzon
58e2e2b496
Remove unused classes, tests and dependencies.
...
Remove graphlib and rest dependencies used in old graph and API.
Use new graph service, graph and node everywhere.
2016-10-24 16:23:46 +02:00
Oscar Lorentzon
92195e28d6
Unit test node and node cache.
2016-10-24 11:32:36 +02:00
Oscar Lorentzon
b4e6c6769b
Emit replayed edge items for consistency.
...
Always emit the replayed item from the edge streams to make
the edge changed events consistent. Node changed is not needed
for handling the edges.
2016-10-24 09:40:39 +02:00
Oscar Lorentzon
879bada8c3
Retrieve sequence and highlight if configured.
2016-10-22 11:40:53 +02:00
Oscar Lorentzon
903c07d424
Graph method to retrieve sequence.
...
Method on graph service for caching and retrieving sequence.
2016-10-22 11:37:44 +02:00
Oscar Lorentzon
1fd9e15ec8
Clarify that sequence of node is cached.
...
Change method names to clarify that the sequence cached is
the sequence for the node with the key supplied.
2016-10-21 18:15:51 +02:00
Oscar Lorentzon
7971542767
Fire public edges changed events from viewer.
...
Skip the first replayed item to avoid sending the same
information that was available through the node changed
event.
2016-10-21 16:58:55 +02:00
Oscar Lorentzon
2cb588a6fb
Specific class for thrown graph errors.
2016-10-21 14:59:30 +02:00
Oscar Lorentzon
141be741a1
Improve graph member names.
...
Reorder graph members alphabetically.
2016-10-21 14:44:56 +02:00
Oscar Lorentzon
42a6e982d8
Return fetch and fill observables if existing.
...
Check that cache is not null for node when disposing.
2016-10-21 13:45:19 +02:00
Oscar Lorentzon
981dbc0d75
Set fallback values for spatial fill nodes.
2016-10-20 11:55:51 +02:00
Oscar Lorentzon
2ca1ae2865
Methods for invalidating API cache.
...
Unit tests.
2016-10-20 11:54:16 +02:00
Oscar Lorentzon
6bcc7db2a5
Store with geohash from original lat lon.
...
Use original lat lon because node will arrive in tile based on
original lat lon.
2016-10-19 13:19:14 +02:00
Oscar Lorentzon
d70ce53ed1
Additional compass angle and lat lon props on node.
...
Expose specific properties for computed and original
compass angles and lat lons.
2016-10-18 12:58:54 +02:00
Oscar Lorentzon
8d54200d1a
Propagate node asset caching errors.
...
Propagate image fetching errors to ensure that image is loaded.
Fallback to empty mesh when loading fails.
2016-10-18 11:55:37 +02:00
Oscar Lorentzon
5bcf200286
Handle undefined imagesByH response.
...
Fill response to be equivalent to an empty response.
2016-10-18 10:39:32 +02:00
Oscar Lorentzon
8c8bf56672
Make compass angle a fill property.
2016-10-18 10:13:30 +02:00
Oscar Lorentzon
ca66d752e4
Expand tile caching.
...
Expand recursively if graph determines that other tile levels
will be needed.
2016-10-18 09:16:26 +02:00
Oscar Lorentzon
272888e4af
Track spatial node caching to enable multiple calls.
...
Make caching the same node multiple times use the same streams
to avoid running statements multiple times.
2016-10-18 08:20:53 +02:00
Oscar Lorentzon
a089ce78f7
Store spatial nodes in dict for error handling.
2016-10-17 10:52:09 +02:00
Oscar Lorentzon
e57ddc43b4
Cache spatial nodes and handle errors in service.
2016-10-17 10:16:12 +02:00
Oscar Lorentzon
95b3976762
Clean up on spatial node batch fetch error.
2016-10-17 10:15:05 +02:00
Oscar Lorentzon
acd71a2519
Return streams from spatial node caching.
...
Enforce graph user to subscribe to streams.
2016-10-17 10:12:57 +02:00
Oscar Lorentzon
9024988ead
Throw if no node tiles to cache.
...
Assign key node tiles to variable to avoid retrieving it multiple
times.
2016-10-17 07:56:02 +02:00
Oscar Lorentzon
ec3d746e42
Do not replay graph operations.
...
Stored graph operation observables are cleared when last subscriber
is done so replay shuld never be needed.
2016-10-17 07:47:17 +02:00
Oscar Lorentzon
ad6c0c917c
Handle tile caching errors.
...
Return list of observables of tiles to be cached from graph method.
Reuse tile observables triggered by other node fetches.
Warn when sequence is missing.
Handle errors in graph service and continue with remaining tiles.
Throw not implemented for spatial node caching.
Adjust unit tests to observable return value.
Catch errors and log.
2016-10-16 16:44:13 +02:00
Oscar Lorentzon
8b9b7c9837
Discard tile nodes without sequence.
2016-10-16 14:56:23 +02:00
Oscar Lorentzon
3801851891
Catch and log errors in graph service.
2016-10-14 15:00:15 +02:00
Oscar Lorentzon
fba319bfb6
Unit test API v3.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
1b44fc84f3
Rename API v3 models.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
c8355720d2
Invalidate falcor cache on error.
...
Invalidate to enable retries.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
c52e9b0458
Throw when fetching if sequence is missing.
...
Node is corrupt if sequence is missing and should fail.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
6b92102a76
Unit test sequence caching.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
ab83a0a6f9
Return observable from cache sequence method.
...
Keep stream sequential by returning observable.
Return stored observable for multiple calls.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
ded9571055
Throw when no node exist for dir or position.
...
Use do instead of map when no mapping is done.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
3ac322731f
Reset caching asset property in finally.
...
Use finally to avoid subscribing to the observable stream
within the node cache class. Let the class user decide
when to subscribe.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
03e9ae0f59
Ensure that fetch/fill errors are propagated.
...
Possible errors from fetch and fill must be propagated to
the caller to be able to catch them. When the calls are
made outside of the stream and the graph is scanned with
skipWhile the errors are left unhandled and not propagated
to the caller.
Ensure that multiple consecutive calls work on the same stream
to avoid running graph logic multiple times.
Adjust unit tests to new logic.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
5b21ce4dc4
Reset graph through graph service.
...
Unsubscribe all active spatial subscriptions when reset.
Cache provided key after graph is reset.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
815c8be55e
Unit test spatial node caching.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
4abd6a6231
Reset method on graph.
...
Reset method to reset all cached spatial information.
Reset spatial edges on all nodes.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
7318202999
Do not cache assets concurrently.
...
Avoid caching assets concurrently to ensure that a node
with assets cached is not uncached when a load status
object is set to null that was previously set to an
object instance.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
45e84e8adf
Switch graph implementation throughout library.
...
Use new graph everywhere.
Switch map to edge streams where needed.
Change unit tests to comply with new node implementation.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
c8df66a336
Do not fill node if fetching.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
24dfb5d6c4
Fill fetched node if retrieved from other call.
...
If a fetched node has been retrieved from a tile request
it should just be filled.
Unit test fill fetched case.
Unit test fill functionality.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
de9ec99079
Report image loading progress.
...
Push node cache asset stream updates to image loading status.
Do not subscribe directly because the load
status stream will be completed when node asset stream is
completed. Use next instead.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
09a14e55d9
Use dictionary to store nodes instead of graph library.
...
Edges are stored in observables on the nodes themselves.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
af0ca36d7f
Indicate observable return values in method names.
2016-10-14 14:24:12 +02:00
Oscar Lorentzon
bf559049ee
Add close to method to API v3.
...
Return null when response is empty.
2016-10-14 14:24:12 +02:00