@Override protected T nextImpl() throws IOException { String encodedElementString = encodedElements.get(nextIndex++); // TODO: Replace with the real encoding used by the // front end, when we know what it is. byte[] encodedElement = StringUtils.jsonStringToByteArray(encodedElementString); notifyElementRead(encodedElement.length); return CoderUtils.decodeFromByteArray(coder, encodedElement); }
@Test public void testCombineValuesFnCoders() throws Exception { CoderRegistry registry = new CoderRegistry(); registry.registerStandardCoders(); MeanInts meanInts = new MeanInts(); MeanInts.CountSum countSum = meanInts.new CountSum(6, 27); Coder<MeanInts.CountSum> coder = meanInts.getAccumulatorCoder( registry, registry.getDefaultCoder(TypeDescriptor.of(Integer.class))); assertEquals( countSum, CoderUtils.decodeFromByteArray(coder, CoderUtils.encodeToByteArray(coder, countSum))); }