
uk.co.mruoc.camunda.client.DeploymentHousekeeping Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of camunda-rest-client Show documentation
Show all versions of camunda-rest-client Show documentation
Template repo to speed up creating new library projects
The newest version!
package uk.co.mruoc.camunda.client;
import java.time.OffsetDateTime;
import java.util.Collection;
import java.util.UUID;
import lombok.RequiredArgsConstructor;
import uk.co.mruoc.camunda.client.deploy.delete.DeleteDeploymentRequest;
import uk.co.mruoc.camunda.client.deploy.delete.DeleteDeploymentRequest.DeleteDeploymentRequestBuilder;
import uk.co.mruoc.camunda.client.deploy.get.GetDeploymentsRequest;
import uk.co.mruoc.camunda.client.deploy.get.GetDeploymentsResponse;
@RequiredArgsConstructor
public class DeploymentHousekeeping {
private final CamundaClient client;
private final DeleteDeploymentRequestBuilder deleteDeploymentRequestBuilder;
public DeploymentHousekeeping(CamundaClient client) {
this(client, DeleteDeploymentRequest.builder().cascade(true));
}
public void deleteDeploymentsBefore(OffsetDateTime cutoff) {
Collection ids = getDeploymentIdsCreatedBefore(cutoff);
deleteDeployments(ids);
}
private Collection getDeploymentIdsCreatedBefore(OffsetDateTime cutoff) {
GetDeploymentsRequest request =
GetDeploymentsRequest.builder().before(cutoff).build();
GetDeploymentsResponse response = client.getDeployments(request);
return response.getDeploymentIds();
}
private void deleteDeployments(Collection ids) {
ids.stream().map(id -> deleteDeploymentRequestBuilder.id(id).build()).forEach(client::deleteDeployment);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy