All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bazaarvoice.emodb.queue.client.QueueServiceAuthenticatorProxy Maven / Gradle / Ivy

package com.bazaarvoice.emodb.queue.client;

import com.bazaarvoice.emodb.queue.api.AuthQueueService;
import com.bazaarvoice.emodb.queue.api.Message;
import com.bazaarvoice.emodb.queue.api.MoveQueueStatus;
import com.bazaarvoice.emodb.queue.api.QueueService;
import com.bazaarvoice.ostrich.partition.PartitionKey;

import java.time.Duration;
import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * QueueService instance that takes an {@link AuthQueueService} and API key and proxies all calls using
 * the API key.
 *
 * Note: The {@link PartitionKey} annotations must match those from AuthQueueService.
 */

class QueueServiceAuthenticatorProxy implements QueueService {

    private final AuthQueueService _authQueueService;
    private final String _apiKey;

    QueueServiceAuthenticatorProxy(AuthQueueService authQueueService, String apiKey) {
        _authQueueService = authQueueService;
        _apiKey = apiKey;
    }

    @Override
    public void send(String queue, Object message) {
        _authQueueService.send(_apiKey, queue, message);
    }

    @Override
    public void sendAll(Map> messagesByQueue) {
        _authQueueService.sendAll(_apiKey, messagesByQueue);
    }

    @Override
    public MoveQueueStatus getMoveStatus(String reference) {
        return _authQueueService.getMoveStatus(_apiKey, reference);
    }

    @Override
    public long getClaimCount(@PartitionKey String queue) {
        return _authQueueService.getClaimCount(_apiKey, queue);
    }

    @Override
    public String moveAsync(String from, String to) {
        return _authQueueService.moveAsync(_apiKey, from, to);
    }

    @Override
    public void unclaimAll(@PartitionKey String queue) {
        _authQueueService.unclaimAll(_apiKey, queue);
    }

    @Override
    public void renew(@PartitionKey String queue, Collection messageIds, Duration claimTtl) {
        _authQueueService.renew(_apiKey, queue, messageIds, claimTtl);
    }

    @Override
    public void sendAll(String queue, Collection messages) {
        _authQueueService.sendAll(_apiKey, queue, messages);
    }

    @Override
    public void purge(@PartitionKey String queue) {
        _authQueueService.purge(_apiKey, queue);
    }

    @Override
    public long getMessageCount(String queue) {
        return _authQueueService.getMessageCount(_apiKey, queue);
    }

    @Override
    public List poll(@PartitionKey String queue, Duration claimTtl, int limit) {
        return _authQueueService.poll(_apiKey, queue, claimTtl, limit);
    }

    @Override
    public long getMessageCountUpTo(String queue, long limit) {
        return _authQueueService.getMessageCountUpTo(_apiKey, queue, limit);
    }

    @Override
    public List peek(String queue, int limit) {
        return _authQueueService.peek(_apiKey, queue, limit);
    }

    @Override
    public void acknowledge(@PartitionKey String queue, Collection messageIds) {
        _authQueueService.acknowledge(_apiKey, queue, messageIds);
    }

    AuthQueueService getProxiedInstance() {
        return _authQueueService;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy