@SuppressWarnings("unchecked") public Response<W> parse(@NotNull Map<String, Object> payload) { checkNotNull(payload, "payload == null"); D data = null; if (payload.containsKey("data")) { Map<String, Object> buffer = (Map<String, Object>) payload.get("data"); RealResponseReader<Map<String, Object>> realResponseReader = new RealResponseReader<>(operation.variables(), buffer, new MapFieldValueResolver(), scalarTypeAdapters, responseNormalizer); data = (D) responseFieldMapper.map(realResponseReader); } List<Error> errors = null; if (payload.containsKey("errors")) { List<Map<String, Object>> errorPayloads = (List<Map<String, Object>>) payload.get("errors"); if (errorPayloads != null) { errors = new ArrayList<>(); for (Map<String, Object> errorPayload : errorPayloads) { errors.add(readError(errorPayload)); } } } return Response.<W>builder(operation) .data(operation.wrapData(data)) .errors(errors) .dependentKeys(responseNormalizer.dependentKeys()) .build(); }
.data(operation.wrapData(data)) .errors(errors) .dependentKeys(responseNormalizer.dependentKeys()) .build(); } finally {
@NotNull @Override public Response<T> execute(ReadableStore cache) { Record rootRecord = cache.read(CacheKeyResolver.rootKeyForOperation(operation).key(), cacheHeaders); if (rootRecord == null) { return Response.<T>builder(operation).fromCache(true).build(); } CacheFieldValueResolver fieldValueResolver = new CacheFieldValueResolver(cache, operation.variables(), cacheKeyResolver(), cacheHeaders, cacheKeyBuilder); RealResponseReader<Record> responseReader = new RealResponseReader<>(operation.variables(), rootRecord, fieldValueResolver, scalarTypeAdapters, responseNormalizer); try { responseNormalizer.willResolveRootQuery(operation); T data = operation.wrapData(responseFieldMapper.map(responseReader)); return Response.<T>builder(operation) .data(data) .fromCache(true) .dependentKeys(responseNormalizer.dependentKeys()) .build(); } catch (Exception e) { logger.e(e, "Failed to read cache response"); return Response.<T>builder(operation).fromCache(true).build(); } } });
.data(operation.wrapData(data)) .errors(errors) .dependentKeys(responseNormalizer.dependentKeys()) .build(); } finally {
.data(operation.wrapData(data)) .errors(errors) .dependentKeys(responseNormalizer.dependentKeys()) .build(); } finally {
@SuppressWarnings("unchecked") public Response<W> parse(@Nonnull Map<String, Object> payload) { checkNotNull(payload, "payload == null"); D data = null; if (payload.containsKey("data")) { Map<String, Object> buffer = (Map<String, Object>) payload.get("data"); RealResponseReader<Map<String, Object>> realResponseReader = new RealResponseReader<>(operation.variables(), buffer, new MapFieldValueResolver(), scalarTypeAdapters, responseNormalizer); data = (D) responseFieldMapper.map(realResponseReader); } List<Error> errors = null; if (payload.containsKey("errors")) { List<Map<String, Object>> errorPayloads = (List<Map<String, Object>>) payload.get("errors"); if (errorPayloads != null) { errors = new ArrayList<>(); for (Map<String, Object> errorPayload : errorPayloads) { errors.add(readError(errorPayload)); } } } return Response.<W>builder(operation) .data(operation.wrapData(data)) .errors(errors) .dependentKeys(responseNormalizer.dependentKeys()) .build(); }
@SuppressWarnings("unchecked") public Response<W> parse(@Nonnull Map<String, Object> payload) { checkNotNull(payload, "payload == null"); D data = null; if (payload.containsKey("data")) { Map<String, Object> buffer = (Map<String, Object>) payload.get("data"); RealResponseReader<Map<String, Object>> realResponseReader = new RealResponseReader<>(operation.variables(), buffer, new MapFieldValueResolver(), scalarTypeAdapters, responseNormalizer); data = (D) responseFieldMapper.map(realResponseReader); } List<Error> errors = null; if (payload.containsKey("errors")) { List<Map<String, Object>> errorPayloads = (List<Map<String, Object>>) payload.get("errors"); if (errorPayloads != null) { errors = new ArrayList<>(); for (Map<String, Object> errorPayload : errorPayloads) { errors.add(readError(errorPayload)); } } } return Response.<W>builder(operation) .data(operation.wrapData(data)) .errors(errors) .dependentKeys(responseNormalizer.dependentKeys()) .build(); }
@Nonnull @Override public Response<T> execute(ReadableStore cache) { Record rootRecord = cache.read(CacheKeyResolver.rootKeyForOperation(operation).key(), cacheHeaders); if (rootRecord == null) { return Response.<T>builder(operation).fromCache(true).build(); } CacheFieldValueResolver fieldValueResolver = new CacheFieldValueResolver(cache, operation.variables(), cacheKeyResolver(), cacheHeaders); RealResponseReader<Record> responseReader = new RealResponseReader<>(operation.variables(), rootRecord, fieldValueResolver, scalarTypeAdapters, responseNormalizer); try { responseNormalizer.willResolveRootQuery(operation); T data = operation.wrapData(responseFieldMapper.map(responseReader)); return Response.<T>builder(operation) .data(data) .fromCache(true) .dependentKeys(responseNormalizer.dependentKeys()) .build(); } catch (Exception e) { logger.e(e, "Failed to read cache response"); return Response.<T>builder(operation).fromCache(true).build(); } } });
@Nonnull @Override public Response<T> execute(ReadableStore cache) { Record rootRecord = cache.read(CacheKeyResolver.rootKeyForOperation(operation).key(), cacheHeaders); if (rootRecord == null) { return Response.<T>builder(operation).fromCache(true).build(); } CacheFieldValueResolver fieldValueResolver = new CacheFieldValueResolver(cache, operation.variables(), cacheKeyResolver(), cacheHeaders); RealResponseReader<Record> responseReader = new RealResponseReader<>(operation.variables(), rootRecord, fieldValueResolver, scalarTypeAdapters, responseNormalizer); try { responseNormalizer.willResolveRootQuery(operation); T data = operation.wrapData(responseFieldMapper.map(responseReader)); return Response.<T>builder(operation) .data(data) .fromCache(true) .dependentKeys(responseNormalizer.dependentKeys()) .build(); } catch (Exception e) { logger.e(e, "Failed to read cache response"); return Response.<T>builder(operation).fromCache(true).build(); } } });
public Builder<T> toBuilder() { return new Builder<T>(operation) .data(data) .errors(errors) .dependentKeys(dependentKeys) .fromCache(fromCache); }
public Builder<T> toBuilder() { return new Builder<T>(operation) .data(data) .errors(errors) .dependentKeys(dependentKeys) .fromCache(fromCache); }
public Builder<T> toBuilder() { return new Builder<T>(operation) .data(data) .errors(errors) .dependentKeys(dependentKeys) .fromCache(fromCache); }