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