Search in sources :

Example 1 with PullRequest

use of com.google.pubsub.v1.PullRequest in project google-cloud-java by GoogleCloudPlatform.

the class SubscriptionAdminClientTest method pullTest.

@Test
@SuppressWarnings("all")
public void pullTest() {
    PullResponse expectedResponse = PullResponse.newBuilder().build();
    mockSubscriber.addResponse(expectedResponse);
    SubscriptionName subscription = SubscriptionName.create("[PROJECT]", "[SUBSCRIPTION]");
    boolean returnImmediately = false;
    int maxMessages = 496131527;
    PullResponse actualResponse = client.pull(subscription, returnImmediately, maxMessages);
    Assert.assertEquals(expectedResponse, actualResponse);
    List<GeneratedMessageV3> actualRequests = mockSubscriber.getRequests();
    Assert.assertEquals(1, actualRequests.size());
    PullRequest actualRequest = (PullRequest) actualRequests.get(0);
    Assert.assertEquals(subscription, actualRequest.getSubscriptionAsSubscriptionName());
    Assert.assertEquals(returnImmediately, actualRequest.getReturnImmediately());
    Assert.assertEquals(maxMessages, actualRequest.getMaxMessages());
}
Also used : PullResponse(com.google.pubsub.v1.PullResponse) StreamingPullResponse(com.google.pubsub.v1.StreamingPullResponse) StreamingPullRequest(com.google.pubsub.v1.StreamingPullRequest) PullRequest(com.google.pubsub.v1.PullRequest) SubscriptionName(com.google.pubsub.v1.SubscriptionName) GeneratedMessageV3(com.google.protobuf.GeneratedMessageV3) Test(org.junit.Test)

Example 2 with PullRequest

use of com.google.pubsub.v1.PullRequest in project spring-cloud-gcp by spring-cloud.

the class PubSubTemplate method pull.

/**
 * Pulls messages synchronously, on demand, using the pull request in argument.
 *
 * <p>This method acknowledges all received messages.
 * @param pullRequest pull request containing the subscription name
 * @return the list of {@link PubsubMessage} containing the headers and payload
 */
private List<PubsubMessage> pull(PullRequest pullRequest, RetrySettings retrySettings) {
    Assert.notNull(pullRequest, "The pull request cannot be null.");
    try {
        SubscriberStub subscriber = this.subscriberFactory.createSubscriberStub(retrySettings);
        Assert.notNull(subscriber, "A SubscriberStub is needed to execute the pull request.");
        PullResponse pullResponse = subscriber.pullCallable().call(pullRequest);
        // Ack received messages.
        if (pullResponse.getReceivedMessagesCount() > 0) {
            List<String> ackIds = pullResponse.getReceivedMessagesList().stream().map(ReceivedMessage::getAckId).collect(Collectors.toList());
            AcknowledgeRequest acknowledgeRequest = AcknowledgeRequest.newBuilder().setSubscription(pullRequest.getSubscription()).addAllAckIds(ackIds).build();
            subscriber.acknowledgeCallable().call(acknowledgeRequest);
        }
        return pullResponse.getReceivedMessagesList().stream().map(ReceivedMessage::getMessage).collect(Collectors.toList());
    } catch (Exception ioe) {
        throw new PubSubException("Error pulling messages from subscription " + pullRequest.getSubscription() + ".", ioe);
    }
}
Also used : PullResponse(com.google.pubsub.v1.PullResponse) AcknowledgeRequest(com.google.pubsub.v1.AcknowledgeRequest) SubscriberStub(com.google.cloud.pubsub.v1.stub.SubscriberStub) ByteString(com.google.protobuf.ByteString)

Example 3 with PullRequest

use of com.google.pubsub.v1.PullRequest in project connectors-workspace-one by vmware.

the class GithubPrController method makeCard.

private Card makeCard(String routingPrefix, Pair<PullRequestId, PullRequest> info, Locale locale, HttpServletRequest request) {
    logger.trace("makeCard called: routingPrefix={}, info={}", routingPrefix, info);
    PullRequestId pullRequestId = info.getLeft();
    PullRequest pullRequest = info.getRight();
    boolean isOpen = OPEN_STATE.equalsIgnoreCase(pullRequest.getState());
    Card.Builder card = new Card.Builder().setName(// TODO - remove this in APF-536
    "GithubPr").setTemplate(routingPrefix + "templates/generic.hbs").setHeader(cardTextAccessor.getHeader(locale), cardTextAccessor.getMessage("subtitle", locale, pullRequestId.getOwner(), pullRequestId.getRepo(), pullRequestId.getNumber())).setBody(createBody(pullRequestId, pullRequest, locale));
    // Set image url.
    CommonUtils.buildConnectorImageUrl(card, request);
    addCloseAction(card, routingPrefix, pullRequestId, isOpen, locale);
    addMergeAction(card, routingPrefix, pullRequestId, pullRequest, isOpen, locale);
    addApproveAction(card, routingPrefix, pullRequestId, isOpen, locale);
    addCommentAction(card, routingPrefix, pullRequestId, locale);
    addRequestChangesAction(card, routingPrefix, pullRequestId, isOpen, locale);
    return card.build();
}
Also used : PullRequest(com.vmware.connectors.github.pr.v3.PullRequest) UriComponentsBuilder(org.springframework.web.util.UriComponentsBuilder)

Example 4 with PullRequest

use of com.google.pubsub.v1.PullRequest in project flink by apache.

the class DefaultPubSubSubscriberFactory method getSubscriber.

@Override
public PubSubSubscriber getSubscriber(Credentials credentials) throws IOException {
    ManagedChannel channel = NettyChannelBuilder.forTarget(SubscriberStubSettings.getDefaultEndpoint()).negotiationType(NegotiationType.TLS).sslContext(GrpcSslContexts.forClient().ciphers(null).build()).build();
    PullRequest pullRequest = PullRequest.newBuilder().setMaxMessages(maxMessagesPerPull).setSubscription(projectSubscriptionName).build();
    SubscriberGrpc.SubscriberBlockingStub stub = SubscriberGrpc.newBlockingStub(channel).withCallCredentials(MoreCallCredentials.from(credentials));
    return new BlockingGrpcPubSubSubscriber(projectSubscriptionName, channel, stub, pullRequest, retries, timeout);
}
Also used : PullRequest(com.google.pubsub.v1.PullRequest) ManagedChannel(io.grpc.ManagedChannel) SubscriberGrpc(com.google.pubsub.v1.SubscriberGrpc)

Example 5 with PullRequest

use of com.google.pubsub.v1.PullRequest in project flink by apache.

the class PubSubSubscriberFactoryForEmulator method getSubscriber.

@Override
public PubSubSubscriber getSubscriber(Credentials credentials) throws IOException {
    ManagedChannel managedChannel = NettyChannelBuilder.forTarget(hostAndPort).usePlaintext().build();
    PullRequest pullRequest = PullRequest.newBuilder().setMaxMessages(maxMessagesPerPull).setSubscription(projectSubscriptionName).build();
    SubscriberGrpc.SubscriberBlockingStub stub = SubscriberGrpc.newBlockingStub(managedChannel);
    return new BlockingGrpcPubSubSubscriber(projectSubscriptionName, managedChannel, stub, pullRequest, retries, timeout);
}
Also used : BlockingGrpcPubSubSubscriber(org.apache.flink.streaming.connectors.gcp.pubsub.BlockingGrpcPubSubSubscriber) PullRequest(com.google.pubsub.v1.PullRequest) ManagedChannel(io.grpc.ManagedChannel) SubscriberGrpc(com.google.pubsub.v1.SubscriberGrpc)

Aggregations

PullRequest (com.google.pubsub.v1.PullRequest)7 PullResponse (com.google.pubsub.v1.PullResponse)5 ReceivedMessage (com.google.pubsub.v1.ReceivedMessage)4 ByteString (com.google.protobuf.ByteString)3 Timestamp (com.google.protobuf.Timestamp)3 PubsubMessage (com.google.pubsub.v1.PubsubMessage)3 ArrayList (java.util.ArrayList)3 Test (org.junit.Test)3 SubscriberStub (com.google.cloud.pubsub.v1.stub.SubscriberStub)2 SubscriberGrpc (com.google.pubsub.v1.SubscriberGrpc)2 SubscriberImplBase (com.google.pubsub.v1.SubscriberGrpc.SubscriberImplBase)2 ManagedChannel (io.grpc.ManagedChannel)2 Server (io.grpc.Server)2 StreamObserver (io.grpc.stub.StreamObserver)2 IncomingMessage (org.apache.beam.sdk.io.gcp.pubsub.PubsubClient.IncomingMessage)2 GrpcSubscriberStub (com.google.cloud.pubsub.v1.stub.GrpcSubscriberStub)1 SubscriberStubSettings (com.google.cloud.pubsub.v1.stub.SubscriberStubSettings)1 GeneratedMessageV3 (com.google.protobuf.GeneratedMessageV3)1 AcknowledgeRequest (com.google.pubsub.v1.AcknowledgeRequest)1 StreamingPullRequest (com.google.pubsub.v1.StreamingPullRequest)1