001
002package com.commercetools.history.defaultconfig;
003
004import java.util.List;
005import java.util.function.Supplier;
006
007import javax.annotation.Nullable;
008
009import com.commercetools.history.client.ApiRoot;
010import com.commercetools.history.client.ByProjectKeyRequestBuilder;
011import com.commercetools.history.client.HistoryCorrelationIdProvider;
012
013import io.vrap.rmf.base.client.*;
014import io.vrap.rmf.base.client.http.CorrelationIdProvider;
015import io.vrap.rmf.base.client.http.Middleware;
016import io.vrap.rmf.base.client.oauth2.ClientCredentials;
017
018/**
019 * @deprecated use {@link HistoryApiRootBuilder} instead
020 */
021@Deprecated
022public class HistoryApiFactory {
023
024    public static ByProjectKeyRequestBuilder createForProject(final String projectKey,
025            final ClientCredentials credentials, final String tokenEndpoint, final String apiEndpoint) {
026        return HistoryApiRootBuilder.of()
027                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
028                .addCorrelationIdProvider(new HistoryCorrelationIdProvider(projectKey))
029                .buildForProject(projectKey);
030    }
031
032    public static ByProjectKeyRequestBuilder createForProject(final String projectKey,
033            final Supplier<ApiHttpClient> clientSupplier) {
034        return create(clientSupplier).withProjectKeyValue(projectKey);
035    }
036
037    public static ApiRoot create(final ClientCredentials credentials, final String tokenEndpoint,
038            final String apiEndpoint) {
039        return HistoryApiRootBuilder.of().defaultClient(apiEndpoint, credentials, tokenEndpoint).build();
040    }
041
042    public static ApiRoot create(final VrapHttpClient httpClient, final ClientCredentials credentials,
043            final String tokenEndpoint, final String apiEndpoint) {
044        return HistoryApiRootBuilder.of(httpClient).defaultClient(apiEndpoint, credentials, tokenEndpoint).build();
045    }
046
047    public static ApiRoot create(final VrapHttpClient httpClient, final ClientCredentials credentials,
048            final String tokenEndpoint, final String apiEndpoint, final List<Middleware> middlewares) {
049        return HistoryApiRootBuilder.of(httpClient)
050                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
051                .addMiddlewares(middlewares)
052                .build();
053    }
054
055    public static ApiRoot create(final ClientCredentials credentials, final String tokenEndpoint,
056            final String apiEndpoint, final CorrelationIdProvider correlationIdProvider) {
057        return HistoryApiRootBuilder.of()
058                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
059                .addCorrelationIdProvider(correlationIdProvider)
060                .build();
061    }
062
063    public static ApiRoot create(final VrapHttpClient httpClient, final ClientCredentials credentials,
064            final String tokenEndpoint, final String apiEndpoint, final CorrelationIdProvider correlationIdProvider) {
065        return HistoryApiRootBuilder.of(httpClient)
066                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
067                .addCorrelationIdProvider(correlationIdProvider)
068                .build();
069    }
070
071    public static ApiRoot create(final VrapHttpClient httpClient, final ClientCredentials credentials,
072            final String tokenEndpoint, final String apiEndpoint, final List<Middleware> middlewares,
073            final CorrelationIdProvider correlationIdProvider) {
074        return HistoryApiRootBuilder.of(httpClient)
075                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
076                .addCorrelationIdProvider(correlationIdProvider)
077                .addMiddlewares(middlewares)
078                .build();
079    }
080
081    public static ApiRoot create(final Supplier<ApiHttpClient> clientSupplier) {
082        return ApiRoot.fromClient(clientSupplier.get());
083    }
084
085    public static ApiRoot create(final ClientCredentials credentials) {
086        return HistoryApiRootBuilder.of().defaultClient(credentials).build();
087    }
088
089    public static ApiRoot create(final ClientCredentials credentials, ServiceRegionConfig serviceRegion) {
090        return HistoryApiRootBuilder.of().defaultClient(credentials, serviceRegion).build();
091    }
092
093    public static ApiHttpClient defaultClient(final ClientCredentials credentials) {
094        return HistoryApiRootBuilder.of().defaultClient(credentials).buildClient();
095    }
096
097    public static ApiHttpClient defaultClient(final ClientCredentials credentials, final String tokenEndpoint,
098            final String apiEndpoint) {
099        return HistoryApiRootBuilder.of().defaultClient(apiEndpoint, credentials, tokenEndpoint).buildClient();
100    }
101
102    public static ApiHttpClient defaultClient(final ClientCredentials credentials, final String tokenEndpoint,
103            final String apiEndpoint, final List<Middleware> middlewares) {
104        return HistoryApiRootBuilder.of()
105                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
106                .addMiddlewares(middlewares)
107                .buildClient();
108    }
109
110    public static ApiHttpClient defaultClient(final VrapHttpClient httpClient, final ClientCredentials credentials,
111            final String tokenEndpoint, final String apiEndpoint) {
112        return HistoryApiRootBuilder.of(httpClient)
113                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
114                .buildClient();
115    }
116
117    public static ApiHttpClient defaultClient(final ClientCredentials credentials, final String tokenEndpoint,
118            final String apiEndpoint, final CorrelationIdProvider correlationIdProvider) {
119        return HistoryApiRootBuilder.of()
120                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
121                .addCorrelationIdProvider(correlationIdProvider)
122                .buildClient();
123    }
124
125    public static ApiHttpClient defaultClient(final ClientCredentials credentials, final String tokenEndpoint,
126            final String apiEndpoint, final List<Middleware> middlewares,
127            final CorrelationIdProvider correlationIdProvider) {
128        return HistoryApiRootBuilder.of()
129                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
130                .addCorrelationIdProvider(correlationIdProvider)
131                .addMiddlewares(middlewares)
132                .buildClient();
133    }
134
135    public static ApiHttpClient defaultClient(final VrapHttpClient httpClient, final ClientCredentials credentials,
136            final String tokenEndpoint, final String apiEndpoint, final CorrelationIdProvider correlationIdProvider) {
137        return HistoryApiRootBuilder.of(httpClient)
138                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
139                .addCorrelationIdProvider(correlationIdProvider)
140                .buildClient();
141    }
142
143    public static ApiHttpClient defaultClient(final VrapHttpClient httpClient, final ClientCredentials credentials,
144            final String tokenEndpoint, final String apiEndpoint, final List<Middleware> middlewares) {
145        return HistoryApiRootBuilder.of(httpClient)
146                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
147                .addMiddlewares(middlewares)
148                .buildClient();
149    }
150
151    public static ApiHttpClient defaultClient(final VrapHttpClient httpClient, final ClientCredentials credentials,
152            final String tokenEndpoint, final String apiEndpoint, final List<Middleware> middlewares,
153            @Nullable final CorrelationIdProvider correlationIdProvider) {
154        return HistoryApiRootBuilder.of(httpClient)
155                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
156                .addCorrelationIdProvider(correlationIdProvider)
157                .addMiddlewares(middlewares)
158                .buildClient();
159    }
160
161    public static ApiHttpClient defaultClient(final VrapHttpClient httpClient, final ClientCredentials credentials,
162            final String tokenEndpoint, final String apiEndpoint, final Supplier<String> userAgentSupplier,
163            final List<Middleware> middlewares, @Nullable final CorrelationIdProvider correlationIdProvider) {
164        return HistoryApiRootBuilder.of(httpClient)
165                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
166                .addCorrelationIdProvider(correlationIdProvider)
167                .withUserAgentSupplier(userAgentSupplier)
168                .addMiddlewares(middlewares)
169                .buildClient();
170    }
171
172    public static ApiHttpClient defaultClient(final Supplier<VrapHttpClient> httpClientSupplier,
173            final ClientCredentials credentials, final String tokenEndpoint, final String apiEndpoint,
174            final List<Middleware> middlewares, @Nullable final CorrelationIdProvider correlationIdProvider) {
175        return HistoryApiRootBuilder.of(httpClientSupplier.get())
176                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
177                .addCorrelationIdProvider(correlationIdProvider)
178                .addMiddlewares(middlewares)
179                .buildClient();
180    }
181
182    public static ApiHttpClient defaultClient(final Supplier<VrapHttpClient> httpClientSupplier,
183            final ClientCredentials credentials, final String tokenEndpoint, final String apiEndpoint,
184            final Supplier<String> userAgentSupplier, final List<Middleware> middlewares,
185            @Nullable final CorrelationIdProvider correlationIdProvider) {
186        return HistoryApiRootBuilder.of(httpClientSupplier.get())
187                .defaultClient(apiEndpoint, credentials, tokenEndpoint)
188                .addCorrelationIdProvider(correlationIdProvider)
189                .withUserAgentSupplier(userAgentSupplier)
190                .addMiddlewares(middlewares)
191                .buildClient();
192    }
193}