io.camunda.zeebe.gateway.impl.broker.request.BrokerDeployResourceRequest Maven / Gradle / Ivy
/*
* Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
* one or more contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright ownership.
* Licensed under the Camunda License 1.0. You may not use this file
* except in compliance with the Camunda License 1.0.
*/
package io.camunda.zeebe.gateway.impl.broker.request;
import io.camunda.zeebe.broker.client.api.dto.BrokerExecuteCommand;
import io.camunda.zeebe.protocol.Protocol;
import io.camunda.zeebe.protocol.impl.record.value.deployment.DeploymentRecord;
import io.camunda.zeebe.protocol.record.ValueType;
import io.camunda.zeebe.protocol.record.intent.DeploymentIntent;
import org.agrona.DirectBuffer;
public final class BrokerDeployResourceRequest extends BrokerExecuteCommand {
private final DeploymentRecord requestDto = new DeploymentRecord();
public BrokerDeployResourceRequest() {
super(ValueType.DEPLOYMENT, DeploymentIntent.CREATE);
setPartitionId(Protocol.DEPLOYMENT_PARTITION);
}
public BrokerDeployResourceRequest addResource(final String resourceName, final byte[] resource) {
requestDto.resources().add().setResource(resource).setResourceName(resourceName);
return this;
}
public BrokerDeployResourceRequest setTenantId(final String tenantId) {
requestDto.setTenantId(tenantId);
return this;
}
@Override
public DeploymentRecord getRequestWriter() {
return requestDto;
}
@Override
protected DeploymentRecord toResponseDto(final DirectBuffer buffer) {
final DeploymentRecord responseDto = new DeploymentRecord();
responseDto.wrap(buffer);
return responseDto;
}
}