@SuppressWarnings({"unchecked", "TypeParameterUnusedInFormals"}) private <T> T fieldValue(Record record, ResponseField field) { String fieldKey = cacheKeyBuilder.build(field, variables); if (!record.hasField(fieldKey)) { throw new NullPointerException("Missing value: " + field.fieldName()); } return (T) record.field(fieldKey); } }
private void assertTestRecordPresentAndAccurate(Record testRecord, NormalizedCache store) { final Record cacheRecord1 = store.loadRecord(testRecord.key(), CacheHeaders.NONE); assertThat(cacheRecord1.key()).isEqualTo(testRecord.key()); assertThat(cacheRecord1.field("a")).isEqualTo(testRecord.field("a")); assertThat(cacheRecord1.field("b")).isEqualTo(testRecord.field("b")); }
@Test public void testDualCacheSingleRecord() { LruNormalizedCacheFactory secondaryCacheFactory = new LruNormalizedCacheFactory(EvictionPolicy.NO_EVICTION); NormalizedCache primaryCache = new LruNormalizedCacheFactory(EvictionPolicy.NO_EVICTION) .chain(secondaryCacheFactory).createChain(basicFieldAdapter); Record.Builder recordBuilder = Record.builder("root"); recordBuilder.addField("bar", "bar"); final Record record = recordBuilder.build(); primaryCache.merge(record, CacheHeaders.NONE); //verify write through behavior assertThat(primaryCache.loadRecord("root", CacheHeaders.NONE).field("bar")).isEqualTo("bar"); assertThat(primaryCache.nextCache().get().loadRecord("root", CacheHeaders.NONE).field("bar")).isEqualTo("bar"); }
@SuppressWarnings("unchecked") private <T> T fieldValue(Record record, ResponseField field) { String fieldKey = field.cacheKey(variables); if (!record.hasField(fieldKey)) { throw new NullPointerException("Missing value: " + field.fieldName()); } return (T) record.field(fieldKey); } }
@SuppressWarnings("unchecked") private <T> T fieldValue(Record record, ResponseField field) { String fieldKey = field.cacheKey(variables); if (!record.hasField(fieldKey)) { throw new NullPointerException("Missing value: " + field.fieldName()); } return (T) record.field(fieldKey); } }