public PCollectionSingletonIterableAssert( PCollection<Iterable<T>> actual, AssertionWindows rewindowingStrategy, SimpleFunction<Iterable<ValueInSingleWindow<Iterable<T>>>, Iterable<Iterable<T>>> paneExtractor, PAssertionSite site) { this.actual = actual; @SuppressWarnings("unchecked") Coder<T> typedCoder = (Coder<T>) actual.getCoder().getCoderArguments().get(0); this.elementCoder = typedCoder; this.rewindowingStrategy = rewindowingStrategy; this.paneExtractor = paneExtractor; this.site = site; }
ParameterizedType type, Coder<?> coder) { List<Type> typeArguments = Arrays.asList(type.getActualTypeArguments()); List<? extends Coder<?>> coderArguments = coder.getCoderArguments();
if ((codedType instanceof ParameterizedType) && !isNullOrEmpty(coder.getCoderArguments())) { ParameterizedType parameterizedSupertype = (ParameterizedType) candidateOkDescriptor.getSupertype(codedClass).getType(); Type[] typeArguments = parameterizedSupertype.getActualTypeArguments(); List<? extends Coder<?>> typeArgumentCoders = coder.getCoderArguments(); if (typeArguments.length < typeArgumentCoders.size()) { throw new IncompatibleCoderException(
private static void checkPipelineProtoCoderIds( Coder<?> coder, CloudObject cloudObject, SdkComponents sdkComponents) throws Exception { if (ModelCoderRegistrar.isKnownCoder(coder)) { assertFalse(cloudObject.containsKey(PropertyNames.PIPELINE_PROTO_CODER_ID)); } else { assertTrue(cloudObject.containsKey(PropertyNames.PIPELINE_PROTO_CODER_ID)); assertEquals( sdkComponents.registerCoder(coder), cloudObject.get(PropertyNames.PIPELINE_PROTO_CODER_ID)); } List<? extends Coder<?>> coderArguments = coder.getCoderArguments(); Object cloudComponentsObject = cloudObject.get(PropertyNames.COMPONENT_ENCODINGS); assertTrue(cloudComponentsObject instanceof List); List<CloudObject> cloudComponents = (List<CloudObject>) cloudComponentsObject; assertEquals(coderArguments.size(), cloudComponents.size()); for (int i = 0; i < coderArguments.size(); i++) { checkPipelineProtoCoderIds(coderArguments.get(i), cloudComponents.get(i), sdkComponents); } } }
} else if (s.equals(getUrn(StandardCoders.Enum.TIMER))) { Map<String, Object> kvMap = (Map<String, Object>) value; Coder<?> payloadCoder = (Coder) coder.getCoderArguments().get(0); return Timer.of( new Instant(((Number) kvMap.get("timestamp")).longValue()),