@Override public CloudObject toCloudObject(NullableCoder target, SdkComponents sdkComponents) { CloudObject base = CloudObject.forClass(NullableCoder.class); return addComponents( base, Collections.<Coder<?>>singletonList(target.getValueCoder()), sdkComponents); }
@Test public void testInferKeyCoder() { CoderRegistry registry = CoderRegistry.createDefault(); assertTrue( KafkaIO.inferCoder(registry, LongDeserializer.class).getValueCoder() instanceof VarLongCoder); assertTrue( KafkaIO.inferCoder(registry, StringDeserializer.class).getValueCoder() instanceof StringUtf8Coder); assertTrue( KafkaIO.inferCoder(registry, InstantDeserializer.class).getValueCoder() instanceof InstantCoder); assertTrue( KafkaIO.inferCoder(registry, DeserializerWithInterfaces.class).getValueCoder() instanceof VarLongCoder); }
@Test public void testGloballyOutputCoder() { p.enableAbandonedNodeEnforcement(false); BigEndianLongCoder inputCoder = BigEndianLongCoder.of(); PCollection<Long> output = p.apply(Create.of(1L, 2L).withCoder(inputCoder)).apply(Latest.globally()); Coder<Long> outputCoder = output.getCoder(); assertThat(outputCoder, instanceOf(NullableCoder.class)); assertEquals(inputCoder, ((NullableCoder<?>) outputCoder).getValueCoder()); }