Skip to content

Commit

Permalink
Release 1.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
polytomic-sdk-bot committed Jun 3, 2024
1 parent e48088e commit 022d54f
Show file tree
Hide file tree
Showing 18 changed files with 921 additions and 86 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.2.0'
version = '1.3.0'
from components.java
}
}
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.2.0",
"1.3.0",
"X-Fern-Language",
"JAVA"));
this.headerSuppliers = headerSuppliers;
Expand Down
98 changes: 80 additions & 18 deletions src/main/java/com/polytomic/api/resources/models/ModelsClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,14 @@
import com.polytomic.api.core.RequestOptions;
import com.polytomic.api.resources.models.requests.GetEnrichmentInputFieldsRequest;
import com.polytomic.api.resources.models.requests.ModelsCreateRequest;
import com.polytomic.api.resources.models.requests.ModelsGetRequest;
import com.polytomic.api.resources.models.requests.ModelsPreviewRequest;
import com.polytomic.api.resources.models.requests.ModelsRemoveRequest;
import com.polytomic.api.resources.models.requests.ModelsSampleRequest;
import com.polytomic.api.resources.models.requests.UpdateModelRequest;
import com.polytomic.api.types.ModelListResponseEnvelope;
import com.polytomic.api.types.ModelResponseEnvelope;
import com.polytomic.api.types.ModelSampleResponseEnvelope;
import com.polytomic.api.types.V2GetEnrichmentInputFieldsResponseEnvelope;
import java.io.IOException;
import java.util.HashMap;
Expand Down Expand Up @@ -191,21 +195,27 @@ public ModelResponseEnvelope create(ModelsCreateRequest request, RequestOptions
}

public ModelResponseEnvelope get(String id) {
return get(id, null);
return get(id, ModelsGetRequest.builder().build());
}

public ModelResponseEnvelope get(String id, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
public ModelResponseEnvelope get(String id, ModelsGetRequest request) {
return get(id, request, null);
}

public ModelResponseEnvelope get(String id, ModelsGetRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/models")
.addPathSegment(id)
.build();
Request okhttpRequest = new Request.Builder()
.url(httpUrl)
.addPathSegment(id);
if (request.getAsync().isPresent()) {
httpUrl.addQueryParameter("async", request.getAsync().get().toString());
}
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("GET", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.addHeader("Content-Type", "application/json")
.build();
.addHeader("Content-Type", "application/json");
Request okhttpRequest = _requestBuilder.build();
try {
Response response =
clientOptions.httpClient().newCall(okhttpRequest).execute();
Expand Down Expand Up @@ -293,20 +303,26 @@ public ModelResponseEnvelope update(String id, UpdateModelRequest request, Reque
}

public void remove(String id) {
remove(id, null);
remove(id, ModelsRemoveRequest.builder().build());
}

public void remove(String id, RequestOptions requestOptions) {
HttpUrl httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
public void remove(String id, ModelsRemoveRequest request) {
remove(id, request, null);
}

public void remove(String id, ModelsRemoveRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/models")
.addPathSegment(id)
.build();
Request okhttpRequest = new Request.Builder()
.url(httpUrl)
.addPathSegment(id);
if (request.getAsync().isPresent()) {
httpUrl.addQueryParameter("async", request.getAsync().get().toString());
}
Request.Builder _requestBuilder = new Request.Builder()
.url(httpUrl.build())
.method("DELETE", null)
.headers(Headers.of(clientOptions.headers(requestOptions)))
.build();
.headers(Headers.of(clientOptions.headers(requestOptions)));
Request okhttpRequest = _requestBuilder.build();
try {
Response response =
clientOptions.httpClient().newCall(okhttpRequest).execute();
Expand All @@ -320,4 +336,50 @@ public void remove(String id, RequestOptions requestOptions) {
throw new RuntimeException(e);
}
}

/**
* Returns sample records from the model. The first ten records that the source provides will be returned after being enriched (if applicable). Synchronous requests must complete within 10s. If either querying or enrichment exceeds 10s, please use the async option.
*/
public ModelSampleResponseEnvelope sample(String id) {
return sample(id, ModelsSampleRequest.builder().build());
}

/**
* Returns sample records from the model. The first ten records that the source provides will be returned after being enriched (if applicable). Synchronous requests must complete within 10s. If either querying or enrichment exceeds 10s, please use the async option.
*/
public ModelSampleResponseEnvelope sample(String id, ModelsSampleRequest request) {
return sample(id, request, null);
}

/**
* Returns sample records from the model. The first ten records that the source provides will be returned after being enriched (if applicable). Synchronous requests must complete within 10s. If either querying or enrichment exceeds 10s, please use the async option.
*/
public ModelSampleResponseEnvelope sample(String id, ModelsSampleRequest request, RequestOptions requestOptions) {
HttpUrl.Builder httpUrl = HttpUrl.parse(this.clientOptions.environment().getUrl())
.newBuilder()
.addPathSegments("api/models")
.addPathSegment(id)
.addPathSegments("sample");
if (request.getAsync().isPresent()) {
httpUrl.addQueryParameter("async", request.getAsync().get().toString());
}
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(), ModelSampleResponseEnvelope.class);
}
throw new ApiError(
response.code(),
ObjectMappers.JSON_MAPPER.readValue(response.body().string(), Object.class));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
/**
* This file was auto-generated by Fern from our API Definition.
*/
package com.polytomic.api.resources.models.requests;

import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.polytomic.api.core.ObjectMappers;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;

@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonDeserialize(builder = ModelsGetRequest.Builder.class)
public final class ModelsGetRequest {
private final Optional<Boolean> async;

private final Map<String, Object> additionalProperties;

private ModelsGetRequest(Optional<Boolean> async, Map<String, Object> additionalProperties) {
this.async = async;
this.additionalProperties = additionalProperties;
}

@JsonProperty("async")
public Optional<Boolean> getAsync() {
return async;
}

@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
return other instanceof ModelsGetRequest && equalTo((ModelsGetRequest) other);
}

@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}

private boolean equalTo(ModelsGetRequest other) {
return async.equals(other.async);
}

@java.lang.Override
public int hashCode() {
return Objects.hash(this.async);
}

@java.lang.Override
public String toString() {
return ObjectMappers.stringify(this);
}

public static Builder builder() {
return new Builder();
}

@JsonIgnoreProperties(ignoreUnknown = true)
public static final class Builder {
private Optional<Boolean> async = Optional.empty();

@JsonAnySetter
private Map<String, Object> additionalProperties = new HashMap<>();

private Builder() {}

public Builder from(ModelsGetRequest other) {
async(other.getAsync());
return this;
}

@JsonSetter(value = "async", nulls = Nulls.SKIP)
public Builder async(Optional<Boolean> async) {
this.async = async;
return this;
}

public Builder async(Boolean async) {
this.async = Optional.of(async);
return this;
}

public ModelsGetRequest build() {
return new ModelsGetRequest(async, additionalProperties);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
/**
* This file was auto-generated by Fern from our API Definition.
*/
package com.polytomic.api.resources.models.requests;

import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.annotation.Nulls;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.polytomic.api.core.ObjectMappers;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;

@JsonInclude(JsonInclude.Include.NON_EMPTY)
@JsonDeserialize(builder = ModelsRemoveRequest.Builder.class)
public final class ModelsRemoveRequest {
private final Optional<Boolean> async;

private final Map<String, Object> additionalProperties;

private ModelsRemoveRequest(Optional<Boolean> async, Map<String, Object> additionalProperties) {
this.async = async;
this.additionalProperties = additionalProperties;
}

@JsonProperty("async")
public Optional<Boolean> getAsync() {
return async;
}

@java.lang.Override
public boolean equals(Object other) {
if (this == other) return true;
return other instanceof ModelsRemoveRequest && equalTo((ModelsRemoveRequest) other);
}

@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}

private boolean equalTo(ModelsRemoveRequest other) {
return async.equals(other.async);
}

@java.lang.Override
public int hashCode() {
return Objects.hash(this.async);
}

@java.lang.Override
public String toString() {
return ObjectMappers.stringify(this);
}

public static Builder builder() {
return new Builder();
}

@JsonIgnoreProperties(ignoreUnknown = true)
public static final class Builder {
private Optional<Boolean> async = Optional.empty();

@JsonAnySetter
private Map<String, Object> additionalProperties = new HashMap<>();

private Builder() {}

public Builder from(ModelsRemoveRequest other) {
async(other.getAsync());
return this;
}

@JsonSetter(value = "async", nulls = Nulls.SKIP)
public Builder async(Optional<Boolean> async) {
this.async = async;
return this;
}

public Builder async(Boolean async) {
this.async = Optional.of(async);
return this;
}

public ModelsRemoveRequest build() {
return new ModelsRemoveRequest(async, additionalProperties);
}
}
}
Loading

0 comments on commit 022d54f

Please sign in to comment.