1477 Commits

Author SHA1 Message Date
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