Skip to content

Commit

Permalink
Release 1.6.0
Browse files Browse the repository at this point in the history
  • Loading branch information
polytomic-sdk-bot committed Jun 28, 2024
1 parent 6870257 commit 2883777
Show file tree
Hide file tree
Showing 19 changed files with 1,006 additions and 139 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ publishing {
maven(MavenPublication) {
groupId = 'com.polytomic'
artifactId = 'polytomic-java'
version = '1.5.0'
version = '1.6.0'
from components.java
}
}
Expand Down
8 changes: 8 additions & 0 deletions src/main/java/com/polytomic/api/Polytomic.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.polytomic.api.resources.modelsync.ModelSyncClient;
import com.polytomic.api.resources.organization.OrganizationClient;
import com.polytomic.api.resources.permissions.PermissionsClient;
import com.polytomic.api.resources.queryrunner.QueryRunnerClient;
import com.polytomic.api.resources.schemas.SchemasClient;
import com.polytomic.api.resources.users.UsersClient;
import com.polytomic.api.resources.webhooks.WebhooksClient;
Expand All @@ -26,6 +27,8 @@ public class Polytomic {

protected final Supplier<ConnectionsClient> connectionsClient;

protected final Supplier<QueryRunnerClient> queryRunnerClient;

protected final Supplier<ModelSyncClient> modelSyncClient;

protected final Supplier<SchemasClient> schemasClient;
Expand All @@ -50,6 +53,7 @@ public Polytomic(ClientOptions clientOptions) {
this.clientOptions = clientOptions;
this.bulkSyncClient = Suppliers.memoize(() -> new BulkSyncClient(clientOptions));
this.connectionsClient = Suppliers.memoize(() -> new ConnectionsClient(clientOptions));
this.queryRunnerClient = Suppliers.memoize(() -> new QueryRunnerClient(clientOptions));
this.modelSyncClient = Suppliers.memoize(() -> new ModelSyncClient(clientOptions));
this.schemasClient = Suppliers.memoize(() -> new SchemasClient(clientOptions));
this.modelsClient = Suppliers.memoize(() -> new ModelsClient(clientOptions));
Expand All @@ -70,6 +74,10 @@ public ConnectionsClient connections() {
return this.connectionsClient.get();
}

public QueryRunnerClient queryRunner() {
return this.queryRunnerClient.get();
}

public ModelSyncClient modelSync() {
return this.modelSyncClient.get();
}
Expand Down
14 changes: 7 additions & 7 deletions src/main/java/com/polytomic/api/PolytomicBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public final class PolytomicBuilder {

private String token = null;

private String xPolytomicVersion = null;
private String version = null;

private Environment environment = Environment.DEFAULT;

Expand All @@ -24,10 +24,10 @@ public PolytomicBuilder token(String token) {
}

/**
* Sets xPolytomicVersion
* Sets version
*/
public PolytomicBuilder xPolytomicVersion(String xPolytomicVersion) {
this.xPolytomicVersion = xPolytomicVersion;
public PolytomicBuilder version(String version) {
this.version = version;
return this;
}

Expand All @@ -46,10 +46,10 @@ public Polytomic build() {
throw new RuntimeException("Please provide token");
}
this.clientOptionsBuilder.addHeader("Authorization", "Bearer " + this.token);
if (xPolytomicVersion == null) {
throw new RuntimeException("Please provide xPolytomicVersion");
if (version == null) {
throw new RuntimeException("Please provide version");
}
this.clientOptionsBuilder.addHeader("X-Polytomic-Version", this.xPolytomicVersion);
this.clientOptionsBuilder.addHeader("X-Polytomic-Version", this.version);
clientOptionsBuilder.environment(this.environment);
return new Polytomic(clientOptionsBuilder.build());
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/polytomic/api/core/ClientOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ private ClientOptions(
"X-Fern-SDK-Name",
"com.polytomic.fern:api-sdk",
"X-Fern-SDK-Version",
"1.5.0",
"1.6.0",
"X-Fern-Language",
"JAVA"));
this.headerSuppliers = headerSuppliers;
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/com/polytomic/api/core/RequestOptions.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@
public final class RequestOptions {
private final String token;

private final String xPolytomicVersion;
private final String version;

private RequestOptions(String token, String xPolytomicVersion) {
private RequestOptions(String token, String version) {
this.token = token;
this.xPolytomicVersion = xPolytomicVersion;
this.version = version;
}

public Map<String, String> getHeaders() {
Map<String, String> headers = new HashMap<>();
if (this.token != null) {
headers.put("Authorization", "Bearer " + this.token);
}
if (this.xPolytomicVersion != null) {
headers.put("X-Polytomic-Version", this.xPolytomicVersion);
if (this.version != null) {
headers.put("X-Polytomic-Version", this.version);
}
return headers;
}
Expand All @@ -34,20 +34,20 @@ public static Builder builder() {
public static final class Builder {
private String token = null;

private String xPolytomicVersion = null;
private String version = null;

public Builder token(String token) {
this.token = token;
return this;
}

public Builder xPolytomicVersion(String xPolytomicVersion) {
this.xPolytomicVersion = xPolytomicVersion;
public Builder version(String version) {
this.version = version;
return this;
}

public RequestOptions build() {
return new RequestOptions(token, xPolytomicVersion);
return new RequestOptions(token, version);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import com.polytomic.api.core.ObjectMappers;
import com.polytomic.api.types.SchemaConfiguration;
import java.io.IOException;
import java.util.Objects;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import com.polytomic.api.core.ObjectMappers;
import com.polytomic.api.types.SchemaConfiguration;
import java.io.IOException;
import java.util.Objects;

Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
/**
* This file was auto-generated by Fern from our API Definition.
*/
package com.polytomic.api.resources.queryrunner;

import com.polytomic.api.core.ApiError;
import com.polytomic.api.core.ClientOptions;
import com.polytomic.api.core.MediaTypes;
import com.polytomic.api.core.ObjectMappers;
import com.polytomic.api.core.RequestOptions;
import com.polytomic.api.resources.queryrunner.requests.QueryRunnerGetQueryRequest;
import com.polytomic.api.resources.queryrunner.requests.V4RunQueryRequest;
import com.polytomic.api.types.V4QueryResultsEnvelope;
import com.polytomic.api.types.V4RunQueryEnvelope;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import okhttp3.Headers;
import okhttp3.HttpUrl;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class QueryRunnerClient {
protected final ClientOptions clientOptions;

public QueryRunnerClient(ClientOptions clientOptions) {
this.clientOptions = clientOptions;
}

public V4RunQueryEnvelope runQuery(String connectionId) {
return runQuery(connectionId, V4RunQueryRequest.builder().build());
}

public V4RunQueryEnvelope runQuery(String connectionId, V4RunQueryRequest request) {
return runQuery(connectionId, request, null);
}

public V4RunQueryEnvelope runQuery(String connectionId, V4RunQueryRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/connections")
.addPathSegment(connectionId)
.addPathSegments("query");
if (request.getQuery().isPresent()) {
httpUrl.addQueryParameter("query", request.getQuery().get());
}
Map<String, Object> properties = new HashMap<>();
if (request.getV4RunQueryRequestQuery().isPresent()) {
properties.put("query", request.getV4RunQueryRequestQuery());
}
RequestBody body;
try {
body = RequestBody.create(
ObjectMappers.JSON_MAPPER.writeValueAsBytes(properties), MediaTypes.APPLICATION_JSON);
} catch (Exception e) {
throw new RuntimeException(e);
}
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("POST", body)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json");
Request okhttpRequest = _requestBuilder.build();
try {
Response response =
clientOptions.httpClient().newCall(okhttpRequest).execute();
if (response.isSuccessful()) {
return ObjectMappers.JSON_MAPPER.readValue(response.body().string(), V4RunQueryEnvelope.class);
}
throw new ApiError(
response.code(),
ObjectMappers.JSON_MAPPER.readValue(response.body().string(), Object.class));
} catch (IOException e) {
throw new RuntimeException(e);
}
}

public V4QueryResultsEnvelope getQuery(String id) {
return getQuery(id, QueryRunnerGetQueryRequest.builder().build());
}

public V4QueryResultsEnvelope getQuery(String id, QueryRunnerGetQueryRequest request) {
return getQuery(id, request, null);
}

public V4QueryResultsEnvelope getQuery(
String id, QueryRunnerGetQueryRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/queries")
.addPathSegment(id);
if (request.getPage().isPresent()) {
httpUrl.addQueryParameter("page", request.getPage().get());
}
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json");
Request okhttpRequest = _requestBuilder.build();
try {
Response response =
clientOptions.httpClient().newCall(okhttpRequest).execute();
if (response.isSuccessful()) {
return ObjectMappers.JSON_MAPPER.readValue(response.body().string(), V4QueryResultsEnvelope.class);
}
throw new ApiError(
response.code(),
ObjectMappers.JSON_MAPPER.readValue(response.body().string(), Object.class));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Loading

0 comments on commit 2883777

Please sign in to comment.