@Override public AsyncPage<Sink> apply(ListSinksResponse listSinksResponse) { List<Sink> sinks = listSinksResponse.getSinksList() == null ? ImmutableList.<Sink>of() : Lists.transform( listSinksResponse.getSinksList(), Sink.fromPbFunction(serviceOptions.getService())); String cursor = listSinksResponse.getNextPageToken().equals("") ? null : listSinksResponse.getNextPageToken(); return new AsyncPageImpl<>( new SinkPageFetcher(serviceOptions, cursor, options), cursor, sinks); } });
@Override public ApiFuture<Sink> getSinkAsync(String sink) { GetSinkRequest request = GetSinkRequest.newBuilder() .setSinkName(ProjectSinkName.of(getOptions().getProjectId(), sink).toString()) .build(); return transform(rpc.get(request), Sink.fromPbFunction(this)); }
@Override public ApiFuture<Sink> createAsync(SinkInfo sink) { CreateSinkRequest request = CreateSinkRequest.newBuilder() .setParent(ProjectName.of(getOptions().getProjectId()).toString()) .setSink(sink.toPb(getOptions().getProjectId())) .build(); return transform(rpc.create(request), Sink.fromPbFunction(this)); }
@Override public ApiFuture<Sink> updateAsync(SinkInfo sink) { UpdateSinkRequest request = UpdateSinkRequest.newBuilder() .setSinkName(ProjectSinkName.of(getOptions().getProjectId(), sink.getName()).toString()) .setSink(sink.toPb(getOptions().getProjectId())) .build(); return transform(rpc.update(request), Sink.fromPbFunction(this)); }
@Override public AsyncPage<Sink> apply(ListSinksResponse listSinksResponse) { List<Sink> sinks = listSinksResponse.getSinksList() == null ? ImmutableList.<Sink>of() : Lists.transform( listSinksResponse.getSinksList(), Sink.fromPbFunction(serviceOptions.getService())); String cursor = listSinksResponse.getNextPageToken().equals("") ? null : listSinksResponse.getNextPageToken(); return new AsyncPageImpl<>( new SinkPageFetcher(serviceOptions, cursor, options), cursor, sinks); } });
@Override public ApiFuture<Sink> getSinkAsync(String sink) { GetSinkRequest request = GetSinkRequest.newBuilder() .setSinkName(ProjectSinkName.of(getOptions().getProjectId(), sink).toString()) .build(); return transform(rpc.get(request), Sink.fromPbFunction(this)); }
@Override public ApiFuture<Sink> createAsync(SinkInfo sink) { CreateSinkRequest request = CreateSinkRequest.newBuilder() .setParent(ProjectName.of(getOptions().getProjectId()).toString()) .setSink(sink.toPb(getOptions().getProjectId())) .build(); return transform(rpc.create(request), Sink.fromPbFunction(this)); }
@Override public ApiFuture<Sink> updateAsync(SinkInfo sink) { UpdateSinkRequest request = UpdateSinkRequest.newBuilder() .setSinkName(ProjectSinkName.of(getOptions().getProjectId(), sink.getName()).toString()) .setSink(sink.toPb(getOptions().getProjectId())) .build(); return transform(rpc.update(request), Sink.fromPbFunction(this)); }