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

com.bazaarvoice.emodb.sor.client.CompactionControlClientFactory Maven / Gradle / Ivy

package com.bazaarvoice.emodb.sor.client;

import com.bazaarvoice.emodb.client.EmoClient;
import com.bazaarvoice.emodb.common.dropwizard.discovery.Payload;
import com.bazaarvoice.emodb.common.jersey.dropwizard.JerseyEmoClient;
import com.bazaarvoice.emodb.sor.api.CompactionControlSource;
import com.bazaarvoice.ostrich.ServiceEndPoint;
import com.sun.jersey.api.client.Client;

/**
 * SOA factory for Jersey clients to use Compaction control resources.
 */
public class CompactionControlClientFactory extends AbstractDataStoreClientFactoryBase {

    private final String _apiKey;

    public static CompactionControlClientFactory forClusterAndHttpClient(String clusterName, Client client, String apiKey) {
        return new CompactionControlClientFactory(clusterName, new JerseyEmoClient(client), apiKey);
    }

    public CompactionControlClientFactory(String clusterName, EmoClient client, String apiKey) {
        super(clusterName, client);
        _apiKey = apiKey;
    }

    @Override
    public CompactionControlSource create(ServiceEndPoint endPoint) {
        Payload payload = Payload.valueOf(endPoint.getPayload());
        return new CompactionControlClient(payload.getServiceUrl(), _client, _apiKey);
    }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy