SdkComponents { String getExistingPTransformId(AppliedPTransform<?, ?, ?> appliedPTransform) { checkArgument( transformIds.containsKey(appliedPTransform), "%s %s has not been previously registered", AppliedPTransform.class.getSimpleName(), appliedPTransform); return transformIds.get(appliedPTransform); } private  SdkComponents(
      @Nullable Components components,
      @Nullable Collection<String> requirements,
      String newIdPrefix); static SdkComponents create(); static SdkComponents create(
      RunnerApi.Components components, Collection<String> requirements); static SdkComponents create(PipelineOptions options); void mergeFrom(
      RunnerApi.Components components, @Nullable Collection<String> requirements); SdkComponents withNewIdPrefix(String newIdPrefix); String registerPTransform(
      AppliedPTransform<?, ?, ?> appliedPTransform, List<AppliedPTransform<?, ?, ?>> children); String getPTransformIdOrThrow(AppliedPTransform<?, ?, ?> appliedPTransform); String registerPCollection(PCollection<?> pCollection); String registerWindowingStrategy(WindowingStrategy<?, ?> windowingStrategy); String registerCoder(Coder<?> coder); String registerEnvironment(Environment env); String getOnlyEnvironmentId(); void addRequirement(String urn); RunnerApi.Components toComponents(); Collection<String> requirements();  }
@Test public void registerTransformEmptyFullName() throws IOException { Create.Values<Integer> create = Create.of(1, 2, 3); PCollection<Integer> pt = pipeline.apply(create); AppliedPTransform<?, ?, ?> transform = AppliedPTransform.of("", pipeline.begin().expand(), pt.expand(), create, pipeline); thrown.expect(IllegalArgumentException.class); thrown.expectMessage(transform.toString()); components.getExistingPTransformId(transform); }