
clarifai2.api.request.input.PatchInputMetadataRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Clarifai Java API Client
The newest version!
package clarifai2.api.request.input;
import clarifai2.internal.grpc.api.DataOuterClass;
import clarifai2.internal.grpc.api.InputOuterClass;
import clarifai2.api.BaseClarifaiClient;
import clarifai2.api.request.ClarifaiRequest;
import clarifai2.dto.input.ClarifaiInput;
import clarifai2.grpc.MetadataConverter;
import clarifai2.internal.InternalUtil;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.gson.JsonObject;
import com.google.protobuf.Struct;
import org.jetbrains.annotations.NotNull;
public final class PatchInputMetadataRequest extends ClarifaiRequest.Builder {
@NotNull private final String inputID;
@NotNull private final JsonObject metadata;
public PatchInputMetadataRequest(
@NotNull BaseClarifaiClient client,
@NotNull String inputID,
@NotNull JsonObject metadata
) {
super(client);
this.inputID = inputID;
this.metadata = metadata;
InternalUtil.assertMetadataHasNoNulls(metadata);
}
@NotNull @Override protected String method() {
return "PATCH";
}
@NotNull @Override protected String subUrl() {
return "v2/inputs";
}
@NotNull @Override protected DeserializedRequest request() {
return new DeserializedRequest() {
@NotNull @Override public ListenableFuture httpRequestGrpc() {
Struct metadataGrpc = MetadataConverter.jsonObjectToStruct(metadata);
InputOuterClass.Input.Builder inputGrpc = InputOuterClass.Input.newBuilder()
.setId(inputID)
.setData(DataOuterClass.Data.newBuilder().setMetadata(metadataGrpc));
return stub().patchInputs(
InputOuterClass.PatchInputsRequest.newBuilder().setAction("overwrite").addInputs(inputGrpc).build()
);
}
@NotNull @Override public ClarifaiInput unmarshalerGrpc(Object returnedObject) {
InputOuterClass.MultiInputResponse inputsResponse = (InputOuterClass.MultiInputResponse) returnedObject;
return ClarifaiInput.deserialize(inputsResponse.getInputs(0));
}
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy