Set<String> cacheResponse(final InterceptorResponse networkResponse, final InterceptorRequest request) { final Optional<List<Record>> records = networkResponse.cacheRecords.map( new Function<Collection<Record>, List<Record>>() { @NotNull @Override public List<Record> apply(@NotNull Collection<Record> records) { final List<Record> result = new ArrayList<>(records.size()); for (Record record : records) { result.add(record.toBuilder().mutationId(request.uniqueId).build()); } return result; } } ); if (!records.isPresent()) { return Collections.emptySet(); } try { return apolloStore.writeTransaction(new Transaction<WriteableStore, Set<String>>() { @Nullable @Override public Set<String> execute(WriteableStore cache) { return cache.merge(records.get(), request.cacheHeaders); } }); } catch (Exception e) { logger.e("Failed to cache operation response", e); return Collections.emptySet(); } }
public <R> R writeTransaction(Transaction<WriteableStore, R> transaction) { return mStore.writeTransaction(transaction); }
private Set<String> cacheResponse(final InterceptorResponse networkResponse, final InterceptorRequest request) { final Optional<List<Record>> records = networkResponse.cacheRecords.map( new Function<Collection<Record>, List<Record>>() { @Nonnull @Override public List<Record> apply(@Nonnull Collection<Record> records) { final List<Record> result = new ArrayList<>(records.size()); for (Record record : records) { result.add(record.toBuilder().mutationId(request.uniqueId).build()); } return result; } } ); if (!records.isPresent()) { return Collections.emptySet(); } try { return mApolloStore.writeTransaction(new Transaction<WriteableStore, Set<String>>() { @Nullable @Override public Set<String> execute(WriteableStore cache) { return cache.merge(records.get(), request.cacheHeaders); } }); } catch (Exception e) { logger.e("Failed to cache operation response", e); return Collections.emptySet(); } }
private Set<String> cacheResponse(final InterceptorResponse networkResponse, final InterceptorRequest request) { final Optional<List<Record>> records = networkResponse.cacheRecords.map( new Function<Collection<Record>, List<Record>>() { @Nonnull @Override public List<Record> apply(@Nonnull Collection<Record> records) { final List<Record> result = new ArrayList<>(records.size()); for (Record record : records) { result.add(record.toBuilder().mutationId(request.uniqueId).build()); } return result; } } ); if (!records.isPresent()) { return Collections.emptySet(); } try { return mApolloStore.writeTransaction(new Transaction<WriteableStore, Set<String>>() { @Nullable @Override public Set<String> execute(WriteableStore cache) { return cache.merge(records.get(), request.cacheHeaders); } }); } catch (Exception e) { logger.e("Failed to cache operation response", e); return Collections.emptySet(); } }