use of com.apollographql.apollo.response.CustomTypeValue in project apollo-android by apollographql.
the class IntegrationTest method setUp.
@Before
public void setUp() {
dateCustomTypeAdapter = new CustomTypeAdapter<Date>() {
@Override
public Date decode(CustomTypeValue value) {
try {
return DATE_FORMAT.parse(value.value.toString());
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
@Override
public CustomTypeValue encode(Date value) {
return new CustomTypeValue.GraphQLString(DATE_FORMAT.format(value));
}
};
apolloClient = ApolloClient.builder().serverUrl(server.url("/")).okHttpClient(new OkHttpClient.Builder().dispatcher(new Dispatcher(Utils.immediateExecutorService())).build()).addCustomTypeAdapter(CustomType.DATE, dateCustomTypeAdapter).normalizedCache(new LruNormalizedCacheFactory(EvictionPolicy.NO_EVICTION), new IdFieldCacheKeyResolver()).defaultResponseFetcher(ApolloResponseFetchers.NETWORK_ONLY).dispatcher(Utils.immediateExecutor()).build();
}
use of com.apollographql.apollo.response.CustomTypeValue in project apollo-android by apollographql.
the class ResponseWriteTestCase method setUp.
@Before
public void setUp() {
OkHttpClient okHttpClient = new OkHttpClient.Builder().dispatcher(new Dispatcher(Utils.immediateExecutorService())).build();
apolloClient = ApolloClient.builder().serverUrl(server.url("/")).okHttpClient(okHttpClient).normalizedCache(new LruNormalizedCacheFactory(EvictionPolicy.NO_EVICTION), new IdFieldCacheKeyResolver()).dispatcher(Utils.immediateExecutor()).addCustomTypeAdapter(CustomType.DATE, new CustomTypeAdapter<Date>() {
@Override
public Date decode(CustomTypeValue value) {
try {
return DATE_TIME_FORMAT.parse(value.value.toString());
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
@Override
public CustomTypeValue encode(Date value) {
return new CustomTypeValue.GraphQLString(DATE_TIME_FORMAT.format(value));
}
}).build();
}
use of com.apollographql.apollo.response.CustomTypeValue in project apollo-android by apollographql.
the class InputFieldJsonWriter method writeCustom.
@SuppressWarnings("unchecked")
@Override
public void writeCustom(@Nonnull String fieldName, ScalarType scalarType, Object value) throws IOException {
checkNotNull(fieldName, "fieldName == null");
if (value != null) {
CustomTypeAdapter customTypeAdapter = scalarTypeAdapters.adapterFor(scalarType);
CustomTypeValue customTypeValue = customTypeAdapter.encode(value);
if (customTypeValue instanceof CustomTypeValue.GraphQLString) {
writeString(fieldName, ((CustomTypeValue.GraphQLString) customTypeValue).value);
} else if (customTypeValue instanceof CustomTypeValue.GraphQLBoolean) {
writeBoolean(fieldName, ((CustomTypeValue.GraphQLBoolean) customTypeValue).value);
} else if (customTypeValue instanceof CustomTypeValue.GraphQLNumber) {
writeNumber(fieldName, ((CustomTypeValue.GraphQLNumber) customTypeValue).value);
} else if (customTypeValue instanceof CustomTypeValue.GraphQLJsonString) {
writeString(fieldName, ((CustomTypeValue.GraphQLJsonString) customTypeValue).value);
} else {
throw new IllegalArgumentException("Unsupported custom value type: " + customTypeValue);
}
} else {
writeString(fieldName, null);
}
}
use of com.apollographql.apollo.response.CustomTypeValue in project apollo-android by apollographql.
the class ResponseReaderTest method responseReader.
@SuppressWarnings("unchecked")
private static RealResponseReader<Map<String, Object>> responseReader(Map<String, Object> recordSet) {
Map<ScalarType, CustomTypeAdapter> customTypeAdapters = new HashMap<>();
customTypeAdapters.put(DATE_CUSTOM_TYPE, new CustomTypeAdapter() {
@Override
public Object decode(CustomTypeValue value) {
try {
return DATE_TIME_FORMAT.parse(value.value.toString());
} catch (ParseException e) {
throw new ClassCastException();
}
}
@Override
public CustomTypeValue encode(Object value) {
return null;
}
});
customTypeAdapters.put(URL_CUSTOM_TYPE, new CustomTypeAdapter() {
@Override
public Object decode(CustomTypeValue value) {
return null;
}
@Override
public CustomTypeValue encode(Object value) {
return null;
}
});
customTypeAdapters.put(OBJECT_CUSTOM_TYPE, new CustomTypeAdapter() {
@Override
public Object decode(CustomTypeValue value) {
return value.value.toString();
}
@Override
public CustomTypeValue encode(Object value) {
return null;
}
});
return new RealResponseReader<>(EMPTY_OPERATION.variables(), recordSet, new MapFieldValueResolver(), new ScalarTypeAdapters(customTypeAdapters), NO_OP_NORMALIZER);
}
use of com.apollographql.apollo.response.CustomTypeValue in project apollo-android by apollographql.
the class HttpCacheTest method setUp.
@Before
public void setUp() {
CustomTypeAdapter<Date> dateCustomTypeAdapter = new CustomTypeAdapter<Date>() {
@Override
public Date decode(CustomTypeValue value) {
try {
return DATE_FORMAT.parse(value.value.toString());
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
@Override
public CustomTypeValue encode(Date value) {
return new CustomTypeValue.GraphQLString(DATE_FORMAT.format(value));
}
};
cacheStore = new MockHttpCacheStore();
cacheStore.delegate = new DiskLruHttpCacheStore(inMemoryFileSystem, new File("/cache/"), Integer.MAX_VALUE);
HttpCache cache = new ApolloHttpCache(cacheStore, null);
okHttpClient = new OkHttpClient.Builder().addInterceptor(new TrackingInterceptor()).addInterceptor(cache.interceptor()).dispatcher(new Dispatcher(Utils.immediateExecutorService())).readTimeout(2, TimeUnit.SECONDS).writeTimeout(2, TimeUnit.SECONDS).build();
apolloClient = ApolloClient.builder().serverUrl(server.url("/")).okHttpClient(okHttpClient).dispatcher(Utils.immediateExecutor()).addCustomTypeAdapter(CustomType.DATE, dateCustomTypeAdapter).httpCache(cache).build();
}
Aggregations